The LSAPR_TRANSLATED_SID_EX2 structure contains information about a security principal after it has been translated into a SID. This structure MUST always be accompanied by an LSAPR_REFERENCED_DOMAIN_LIST structure when DomainIndex is not -1.

This structure differs from LSAPR_TRANSLATED_SID_EX only in that a SID is returned instead of a RID.

 typedef struct _LSAPR_TRANSLATED_SID_EX2 {
   PRPC_SID Sid;
   long DomainIndex;
   unsigned long Flags;

Use: Defines the type of the security principal, as specified in section 2.2.13.

Sid: Contains the SID ([MS-DTYP] section of the security principal. This field MUST be treated as a [ref] pointer and hence MUST be non-NULL.

DomainIndex: Contains the index into an LSAPR_REFERENCED_DOMAIN_LIST structure that specifies the domain that the security principal is in. A DomainIndex value of -1 MUST be used to specify that there are no corresponding domains. Other negative values MUST NOT be used.

Flags: Contains bitmapped values that define the properties of this translation. The value MUST be the logical OR of zero or more of the following flags. These flags communicate additional information on how the name was resolved.




The name was not found by matching against the Security Principal Name property.


The name might be found by traversing a forest trust.


The name was found by matching against the last database view (see section

All other bits MUST be 0 and ignored on receipt.<15>