Platform SDK: MAPI

About Property Identifiers

A property identifier is a number that is used to indicate what a property is used for and who is responsible for it. Property identifiers are divided by MAPI into ranges; where an identifier falls in the range indicates its use and ownership.

The range of property identifiers runs from 0001 through FFFF. Property identifiers 0000 and FFFF are reserved in all cases, meaning that these identifiers must remain unused. The range for properties defined by MAPI runs from 0001 to 3FFF. The range 4000 to 7FFF belongs to message and recipient properties, and either clients or service providers can define properties in this range. Beyond 8000 is the range for what is known as named properties, or properties that have a name associated with their identifier. Clients can use named properties to customize their property set.

Service providers can define secure profile properties in the range 0x67F0 through 0x67FF. Secure profile properties are used for information that requires additional protection, such as passwords. These properties can be hidden and encrypted. Whether or not secure properties are included in the default list of properties returned by the IMAPIProp::GetPropList method depends on the provider's implementation. Usually these properties are not included. The IProfSect interface is used for accessing the properties of a profile section, secure properties included.

Some of the property ranges are restricted to transmittable properties or nontransmittable properties. Transmittable properties are transferred with a message; nontransmittable properties are not transferred with a message. Nontransmittable properties usually contain information that is of value only to clients and service providers operating with the current session. These properties would not necessarily be useful to another messaging system and another set of service providers. The concept of transmittable properties applies primarily to transport providers. To determine whether a property is transmittable or not, pass its property tag to the FIsTransmittable macro, defined in the MAPITAGS.H header file.

For a complete description of the identifier ranges, see List of Property Identifier Ranges.