2.2 Common Data Types

In addition to RPC base types and definitions specified in [C706] and [MS-DTYP], additional data types are defined in this specification.

Some fields of some data types were introduced into the protocol but not used. These data types and fields are not to be confused with those that were introduced for extensibility. These fields MUST NOT be used for extensibility. Such fields are described as follows:

"This field MUST be ignored. The content is unspecified, and no requirements are placed on its value since it is never used."

The server SHOULD place no constraints on the value present in such fields unless otherwise stated.

This protocol MUST indicate to the RPC runtime that it is to support both the NDR and NDR64 transfer syntaxes and provide a negotiation mechanism for determining which transfer syntax will be used, as specified in [C706] section 12 and in [MS-RPCE] section 3.3.1.5.6.

The following table summarizes the types that are defined in this specification.

Note NTSTATUS, RPC_SID, and RPC_UNICODE_STRING are defined in [MS-DTYP] sections 2.2.38, 2.4.2.3, and 2.3.10, respectively.

Type (section)

Summary

ACCESS_MASK (section 2.2.10)

Defines the access rights to grant an object.

LSA_TRANSLATED_SID (section 2.2.14)

Contains machine-readable information about a security principal.

LSAP_LOOKUP_LEVEL (section 2.2.16)

Defines different scopes for searches during translation.

LSAPR_ACL (section 2.2.3)

Defines the header of an access control list.

LSAPR_HANDLE (section 2.2.1)

Defines a context handle.

LSAPR_OBJECT_ATTRIBUTES (section 2.2.9)

Specifies an object and its handle's properties.

LSAPR_REFERENCED_DOMAIN_LIST (section 2.2.12)

Contains information about the domains referenced in a lookup operation.

LSAPR_SECURITY_DESCRIPTOR (section 2.2.5)

Defines an object's security descriptor.

LSAPR_SID_ENUM_BUFFER (section 2.2.18)

Defines a set of SIDs.

LSAPR_SID_INFORMATION (section 2.2.17)

Contains a SID value.

LSAPR_TRANSLATED_NAME (section 2.2.19)

Contains human-readable name information about a security principal.

LSAPR_TRANSLATED_NAME_EX (section 2.2.21)

Contains human-readable name information about a security principal.

LSAPR_TRANSLATED_NAMES (section 2.2.20)

Defines a set of translated names.

LSAPR_TRANSLATED_NAMES_EX (section 2.2.22)

Contains a set of translated names.

LSAPR_TRANSLATED_SID_EX (section 2.2.23)

Contains machine-readable identifier information about a security principal.

LSAPR_TRANSLATED_SID_EX2 (section 2.2.25)

Contains machine-readable identifier information about a security principal.

LSAPR_TRANSLATED_SIDS (section 2.2.15)

Defines a set of translated SIDs.

LSAPR_TRANSLATED_SIDS_EX (section 2.2.24)

Contains a set of translated SIDs.

LSAPR_TRANSLATED_SIDS_EX2 (section 2.2.26)

Contains a set of translated SIDs.

LSAPR_TRUST_INFORMATION (section 2.2.11)

Contains information about a domain.

SECURITY_CONTEXT_TRACKING_MODE (section 2.2.7)

Specifies whether user security attributes are updated on a server when they change on the client.

SECURITY_DESCRIPTOR_CONTROL (section 2.2.4)

Qualifies the meaning of a security descriptor or its components.

SECURITY_IMPERSONATION_LEVEL (section 2.2.6)

Specifies security impersonation levels.

SECURITY_QUALITY_OF_SERVICE (section 2.2.8)

Defines information that is used to support client impersonation.

SID_NAME_USE (section 2.2.13)

Contains values that specify the type of an account.

STRING (section 2.2.2)

Defines an ANSI string along with the number of characters in the string.

The following citation contains a timeline of when each data type was introduced.<5>