Platform SDK: Exchange Server |
Calling IMAPIProp::GetProps to retrieve the following message properties does not access the server nor does it create an RPC. This is because they are either stored on the client computer or derived from other properties stored on the client computer. For more information on reducing RPCs, see Application Performance.
These properties are defined by MAPI and have special characteristics. For example, a call to IMAPIProp::GetProps to retrieve PR_OBJECT_TYPE does not produce an RPC. This is not because the property is actually stored on the client, but because message objects are by definition of the message object type. Therefore, querying for this information is a superfluous action.
Properties that are stored on the client behave in distinct ways. For example, because sorting is performed on the server, you cannot sort using these properties. They exhibit the following restrictions:
For example, you may set a rule that fires on the condition that the properties PR_CONVERSATION_INDEX and PR_MAPPING_SIGNATURE are present on an incoming message. But rule conditions are described in terms of restrictions — MAPI SRestrictions — and because PR_MAPPING_SIGNATURE is a client-only message property, you cannot use it in a restriction. Therefore, this restriction will not be met and the rule will never fire.
Note Information store providers other than the Microsoft Exchange Server information store provider (such as the one that controls personal information stores) might treat these and other properties differently. For example, they may not be restricted in the ways listed above.
Client-Only Message Properties
Property Designation | Description |
---|---|
PR_ENTRYID | Contains a MAPI entry identifier used to open and edit properties of a particular MAPI object. |
PR_MAPPING_SIGNATURE | Contains the mapping signature for named properties of a particular MAPI object. |
PR_MDB_PROVIDER | Contains a provider-defined identifier that indicates the type of the information store. |
PR_INSTANCE_KEY | Contains a value that uniquely identifies a row in a table. |
PR_OBJECT_TYPE | Contains the type of an object. |
PR_PARENT_ENTRYID | Contains the entry identifier of the folder containing a folder or message. |
PR_RECORD_KEY | Contains a unique binary-comparable identifier for a specific object. |
PR_REPLICA_SERVER | Contains the server name from which the message is replicated. |
PR_STORE_ENTRYID | Contains the unique entry identifier of the information store in which an object resides. |
PR_STORE_RECORD_KEY | Contains the unique binary-comparable identifier (record key) of the information store in which an object resides. |
PR_STORE_SUPPORT_MASK | Contains a bitmask of flags that client applications should query to determine the characteristics of an information store. |
Note Properties other than those in the preceding table generate an RPC to the server for each call of IMAPIProp::GetProps. Therefore, for good performance, you should combine all GetProps calls for properties other than these into a single call. Also, you should call GetProps before resorting to streaming a property such as PR_COMPRESSED_RTF.