<div class="content"><p> </p><p>The LsarLookupSids method translates a batch of <span><a href="e79f2680-84d9-4d34-bc78-5ab9e1255653#gt_f3ef2572-95cf-4c5c-b3c9-551fd648f409" data-linktype="relative-path">security
principal</a></span> <span><a href="e79f2680-84d9-4d34-bc78-5ab9e1255653#gt_83f2020d-0804-4840-a5ac-e06439d50f8d" data-linktype="relative-path">SIDs</a></span> to their name
forms. It also returns the <span><a href="e79f2680-84d9-4d34-bc78-5ab9e1255653#gt_b0276eb2-4e65-4cf1-a718-e0920a614aca" data-linktype="relative-path">domains</a></span> that these
names are a part of.</p><dl>
<dd>
<div><pre> NTSTATUS LsarLookupSids(
   [in] LSAPR_HANDLE PolicyHandle,
   [in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
   [out] PLSAPR_REFERENCED_DOMAIN_LIST* ReferencedDomains,
   [in, out] PLSAPR_TRANSLATED_NAMES TranslatedNames,
   [in] LSAP_LOOKUP_LEVEL LookupLevel,
   [in, out] unsigned long* MappedCount
 );
</pre></div>
</dd></dl><p><b>PolicyHandle: </b>Context handle obtained by an <span><a href="534c8a46-1be7-4065-9f87-e60a1447ae45" data-linktype="relative-path">LsarOpenPolicy</a></span>
or <span><a href="40a316ae-1bae-4aa1-92cd-650cdaae1863" data-linktype="relative-path">LsarOpenPolicy2</a></span>
call.</p><p><b>SidEnumBuffer: </b>Contains the SIDs to be
translated. The SIDs in this structure can be that of users, groups, computers,
Windows-defined well-known security principals, or domains.</p><p><b>ReferencedDomains: </b>On successful return,
contains the domain information for the domain to which each security principal
belongs. The domain information includes a NetBIOS domain name and a domain SID
for each entry in the list.</p><p><b>TranslatedNames: </b>On successful return,
contains the corresponding name form for security principal SIDs in the <i>SidEnumBuffer</i>
parameter. It MUST be ignored on input.</p><p><b>LookupLevel: </b>Specifies what scopes are to be
used during translation, as specified in section <span><a href="9d1166cc-bcfd-4e22-a8ac-f55eae57c99f" data-linktype="relative-path">2.2.16</a></span>.</p><p><b>MappedCount: </b>On successful return, contains
the number of names that are translated completely to their Name forms. It MUST
be ignored on input.</p><p><b>Return Values: </b>The following table contains a
summary of the return values that an implementation MUST return, as specified
by the message processing shown after the table.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>0x00000000</p>
  <p>STATUS_SUCCESS</p>
  </td>
  <td>
  <p>The request was successfully completed.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x00000107</p>
  <p>STATUS_SOME_NOT_MAPPED</p>
  </td>
  <td>
  <p>Some of the information to be translated has not been
  translated.</p>
  </td>
 </tr><tr>
  <td>
  <p>0xC0000022</p>
  <p>STATUS_ACCESS_DENIED</p>
  </td>
  <td>
  <p>The caller does not have the permissions to perform
  this operation.</p>
  </td>
 </tr><tr>
  <td>
  <p>0xC000000D</p>
  <p>STATUS_INVALID_PARAMETER</p>
  </td>
  <td>
  <p>One of the supplied parameters was invalid.</p>
  </td>
 </tr><tr>
  <td>
  <p>0xC0000073</p>
  <p>STATUS_NONE_MAPPED</p>
  </td>
  <td>
  <p>None of the information to be translated has been
  translated.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p>The behavior required when receiving an LsarLookupSids
message MUST be identical to that when receiving an <span><a href="a09480f4-145e-4b4c-a027-5b313db61833" data-linktype="relative-path">LsarLookupSids2</a></span>
message, with the following exceptions:</p><ul><li><p><span><span> 
</span></span>Elements in the TranslatedNames output structure do not contain a
Flags field.</p>
</li><li><p><span><span> 
</span></span>Due to the absence of <i>LookupOptions</i> and <i>ClientRevision</i>
parameters, the <span><a href="e79f2680-84d9-4d34-bc78-5ab9e1255653#gt_ae65dac0-cd24-4e83-a946-6d1097b71553" data-linktype="relative-path">RPC server</a></span> MUST
assume that <i>LookupOptions</i> is 0 and <i>ClientRevision</i> is 1.</p>
</li><li><p><span><span> 
</span></span>The server MUST return STATUS_ACCESS_DENIED if neither of the
following conditions is true:</p>
<ol><li><p><span>   
</span>The RPC_C_AUTHN_NETLOGON security provider (as specified in <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>
section <span><a href="../ms-rpce/d4097450-c62f-484b-872f-ddf59a7a0d36" data-linktype="relative-path">2.2.1.1.7</a></span>)
and at least RPC_C_AUTHN_LEVEL_PKT_INTEGRITY authentication level (as specified
in [MS-RPCE] section <span><a href="../ms-rpce/425a7c53-c33a-4868-8e5b-2a850d40dc73" data-linktype="relative-path">2.2.1.1.8</a></span>)
were used in this <span><a href="e79f2680-84d9-4d34-bc78-5ab9e1255653#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> message.</p>
</li><li><p><span>   
</span>The PolicyHandle was granted POLICY_LOOKUP_NAMES access.</p>
</li></ol></li></ul></div>