Each property listing in this document contains a link to the section of the technical specification in the Exchange Server Protocols documentation that acts as the defining reference for the property. The defining reference for each property contains the semantic use and definition of the property, including the property data type. The property information that is included in the defining reference for each property is required to successfully parse property data. As such, this document provides implementers with a single source of navigation to all of the critical property information that is included in the individual Exchange Server Protocols technical specifications.
This document also provides additional information about each property that is helpful to the implementer, such as the functional area where the property is used, a list of all the technical specifications that cite the property, and a list of alternate names by which the canonical property is known within the system. This information is not included in the technical specifications that describe each property, and is unique to this document. It is provided for informational purposes only.
A typical scenario for using this document is when an implementer encounters both property IDs and property values with no other identification coming across the wire. The property data type and the semantic definition of the property that are included in the defining reference for each property allow the implementer to correctly parse property values that show up in ROP buffers. The parsed values in the ROP buffers include lists of property IDs, which are typically lists of four hexadecimal characters. By searching the information in this document for those four hexadecimal characters, the implementer can quickly name the associated property and navigate to the definition of the individual property in its defining specification.
The following information is provided for each property, as appropriate.
Alternate names: Alternate names are implementation-specific names for properties that are used in source code and non-protocol-related documentation. Information about alternate names is useful when the implementer needs to refer to legacy documentation about a specific canonical property.
Area: The functional area where the property is used. Sections 1.3.1. 1.3.2, and 1.3.3 describe the general functional areas where properties are used. The listing for each property in section 2 describes the areas with more varied descriptions so as to provide more insight into property usage.
Canonical name: The name used to refer to the property in the Exchange Server Protocols documentation. The prefix of the canonical name identifies the basic characteristics of a property to the implementer.
The canonical naming structure uses three categories that are denoted by the following prefixes to the canonical property name:
PidLid prefix: Properties identified by an unsigned 32-bit quantity along with a property set.
PidName prefix: Properties identified by a string name along with a property set.
PidTag prefix: Properties identified by an unsigned 16-bit quantity.
Description: A brief description of the contents of the property.
Data type: The property value type, as described in [MS-OXCDATA], that specifies the type of values allowed for the property.
Property ID: An unsigned 16-bit quantity that identifies a tagged property. Property IDs are not necessarily unique. With the exception of property IDs in the range from 0x6800 to 0x7BFF (see section 1.3.3), the combination of property ID and data type are unique. Property IDs in the range from 0x6800 to 0x7BFF are defined by the message class.
Property name: A string that, along with the property set, identifies a named property.
Property set: A GUID that identifies a group of properties with a similar purpose.
Defining references: One or more technical specifications that describe the semantics and allowed values for the property.
Consuming references: One or more technical specifications that refer to the property but do not describe semantics and allowed values.