2.2.25 LSAPR_TRANSLATED_SID_EX2

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 {
   SID_NAME_USE Use;
   PRPC_SID Sid;
   long DomainIndex;
   unsigned long Flags;
 } LSAPR_TRANSLATED_SID_EX2,
  *PLSAPR_TRANSLATED_SID_EX2;

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

Sid: Contains the SID ([MS-DTYP] section 2.4.2.3) 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.

Value

Meaning

0x00000001

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

0x00000002

The name might be found by traversing a forest trust.

0x00000004

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

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