In addition to the standard message properties defined by MAPI, a number of message properties specific to Microsoft Exchange Server are declared by Microsoft Exchange Server in the EDKMDB.H file.
The following tables list these properties by usage type. Some properties in this section appear in more than one table. None of the message properties in the following tables are required to be present on a message.
The properties in the first table are for general use. For example, the PR_CREATOR_NAME property can be used to identify the creator of the message; particularly for messages in public folders. This is useful because the creator of a message is granted more permissions on that message than other users. The PR_REPLICA_SERVER property is used to determine the server on which the copy resides.
General Message Properties
Property Designation | Description |
---|---|
PR_CHANGE_KEY | Read-only. Returns a binary value indicating the last change that took place on the message or folder. |
PR_CREATOR_NAME | Read-only. Specifies the display name of the user who created the message. |
PR_LAST_MODIFIER_ENTRYID | Read-only. Specifies the entry identifier of the last person to modify the message. |
PR_LAST_MODIFIER_NAME | Read-only. Contains the display name of the last person to modify the message. |
PR_PARENT_SOURCE_KEY | Read-only. Used in incremental change synchronization. Available on folders and messages. |
PR_PREDECESSOR_CHANGE_LIST | Read/write. Contains a list of change keys, including the current PR_CHANGE_KEY. |
PR_REPLICA_SERVER | Read-only. Specifies the name of the server on which the copy of the message resides. |
PR_SOURCE_KEY | Read/write. Identifies the folder or message. |
To reduce the number of RPCs, certain functions that you call to manipulate message properties are automatically deferred by the Microsoft Exchange Server information store provider. Two examples are the IMAPIProp::SetProps and IMAPIProp::DeleteProps methods. This means that, for example, deleting a nonexistent property can return a SUCCESS_SUCCESS result where the MAPI_E_ERRORS_RETURNED result might be expected. Typically, the deferral of error reports and function calls is governed by the use of the MAPI_DEFERRED_ERRORS flag. For more information, see Using the MAPI_DEFERRED_ERRORS Flag.
In the Microsoft Exchange Client, the Send property page (which appears when you select Options from the Tools menu) is controlled by the server-based information store provider of Microsoft Exchange Server. A third-party application can also use these properties if it uses the Microsoft Exchange Server information store service provider.
The properties in the following table are set by the sender using the Send property page of the Microsoft Exchange Client. For example, PR_DEFERRED_SEND_TIME determines when a message is actually to be sent. PR_DEFERRED_SEND_TIME is used by the information store to defer messages at sending time and PR_DEFERRED_DELIVERY_TIME is used to defer messages at delivery time. These are all read/write properties.
Send Options Message Properties
Property Designation | Description |
---|---|
PR_DEFERRED_SEND_NUMBER | Indicates how many units of time to wait before sending a message. |
PR_DEFERRED_SEND_TIME | Indicates a time at which a message should be sent. |
PR_DEFERRED_SEND_UNITS | Specifies the unit of time to be used with the PR_DEFERRED_SEND_NUMBER property to determine the PR_DEFERRED_SEND_TIME for a deferred message. |
PR_EXPIRY_NUMBER | Contains the number of time units that must pass before the message disappears if unread. |
PR_EXPIRY_UNITS | Contains the time unit to be used in calculating the time for a message to expire. |