Platform SDK: Exchange Server

MAPI Properties

A property is a specific attribute of a Microsoft Exchange Server object. Properties describe something about the object, such as the subject line of a message or the address type of a distribution list. The Microsoft Exchange Server defines many properties, some to describe many objects and some that are appropriate only for a particular type of object. You can extend the set of Microsoft Exchange Server properties by creating new, custom properties. Many Microsoft Exchange Server properties are directly derived from MAPI properties. See the MAPI Programmer's Reference for further information on MAPI properties.

An object and its properties exist in only one of the following locations:

Use the MAPI IMAPIProp interface to access an object's properties. All objects that have properties implement an interface that inherits from IMAPIProp. Some of the inherited interfaces, such as the MAPI IMessage interface (implemented by message objects), have unique methods beyond those inherited from IMAPIProp. Service providers can implement new object properties, which only the provider can access. For further information, see the MAPI Programmer's Reference.

There are different types of properties, depending on the type of data that the property value contains, such as an integer, real number, text, or Boolean (see Property Types).

The MAPI SPropValue structure contains information about a property's type, value, and identifier. For further information, see the MAPI Programmer's Reference.

The property identifier is a unique number within a specific range of numbers (see MAPIDEFS.H). In addition, each property has a property tag, which consists of a numeric representation of the property type concatenated with its property identifier.

Property tag names share a common format. Beginning with the PR prefix, they are composed of one or more words that describe the property joined by underscores. For example, PR_USER_NAME is the tag for the property that contains the name of a user of a message store.

Sometimes the same property can be expressed in different units. In such cases, you may see the same property tag with one of the following suffixes:

_A Expressed as an ANSI string
_O Expressed as an object
_T Expressed as a teletext string
_W Expressed as a wide (Unicode) value

For example, the PR_EMS_AB_IS_MEMBER_OF_DL property (an object that lists the distribution lists that include this mailbox) can be expressed as follows:

All these properties have the same definition, but are expressed in different units.