4.1.4.2.23 TranslateFPOToName

 procedure TranslateFPOToName(
   obj: DSName,
   ppReferencedDomains: PLSAPR_REFERENCED_DOMAIN_LIST*,
   pTranslatedNames: PLSAPR_TRANSLATED_NAMES_EX
   ): NTSTATUS

Informative summary of behavior: The TranslateFPOToName procedure performs an LsarLookupSids2 call ([MS-LSAT] section 3.1.4.10) to translate obj to its Windows NT 4.0 operating system account name and domain.

 hlsaPolicy: LSAPR_HANDLE
 mappedCount: unsigned long
 systemName: unicodeString
 objectAttributes: LSAPR_OBJECT_ATTRIBUTES
 desiredAccess: DWORD
 sidEnumBuffer: LSAPR_SID_ENUM_BUFFER
 sidInfo: LSAPR_SID_INFORMATION
 NtStatus: NTSTATUS
  
 sidEnumBuffer.Entries := 1
 sidInfo.Sid := obj!Sid
 sidEnumBuffer.SidInfo := ADR(sidInfo)
  
 systemName := ""
 objectAttributes.Length := 0
 objectAttributes.RootDirectory := null
 objectAttributes.ObjectName := null
 objectAttributes.attributes := 0
 objectAttributes.SecurityDescriptor := null
 objectAttributes.SecurityQualityOfService := null
 desiredAccess := 0x00000800
  
 NtStatus := LsarOpenPolicy2(systemName, ADR(objectAttributes),
                             desiredAccess, ADR(hlsaPolicy))
 if 0x0 = NtStatus then
   NtStatus := LsarLookupSids2(hlsaPolicy, ADR(sidEnumBuffer),
                          ppReferencedDomains, pTranslatedNames,
                          0x1, ADR(mappedCount), 0x0, 0x2)
 endif
  
 If hlsaPolicy ≠ null
   LsarClose(ADR(hlsaPolicy))  
  
 return NtStatus