Platform SDK: MAPI

PR_ENTRYID

The PR_ENTRYID property contains a MAPI entry identifier used to open and edit properties of a particular MAPI object.

Quick Info

Header file: MAPITAGS.H
Must be exposed by: Address book container, distribution list, folder, messaging user, message, message store, and status objects
Identifier: 0x0FFF
Property type: PT_BINARY
Property tag: 0x0FFF0102

Remarks

The PR_ENTRYID property identifies an object for OpenEntry to instantiate and provides access to all of its properties through the appropriate derived interface of IMAPIProp.

PR_ENTRYID is one of the base address properties for all messaging users. For more information on the base address properties, see Base Address Properties.

PR_ENTRYID can contain either a long-term or a short-term identifier. Short-term identifiers are easier and faster to construct, but are limited in their scope and duration, typically to the current session and workstation. They are commonly used for objects of a temporary nature, such as table rows or dialog box entries, and then abandoned. Long-term identifiers are used for objects of a more wide-ranging and long-lasting nature.

PR_ENTRYID is always available through the IMAPIProp::GetProps method following the first call to the IMAPIProp::SaveChanges method. Some service providers can make it available immediately after instantiation. The provider must always return a long-term entry identifier from GetProps. Therefore, to convert a short-term identifier to long-term, simply open the object and get its PR_ENTRYID through GetProps.

The following table summarizes important differences among PR_ENTRYID, PR_RECORD_KEY, and PR_SEARCH_KEY.

Characteristic PR_ENTRYID PR_RECORD_KEY PR_SEARCH_KEY
Required on attachment objects No Yes No
Required on folder objects Yes Yes No
Required on message store objects Yes Yes No
Required on status objects Yes No No
Created by client No No Yes
Available before call to SaveChanges Maybe Maybe Messages — Yes
Others — Maybe
Changed in a copy operation Yes Yes No
Changeable by client after a copy No No Yes
Unique within Entire world Provider instance Entire world
Binary comparable (as with memcmp) No — use IMAPISupport::
CompareEntryIDs
Yes Yes

See Also

Base Address Properties, ENTRYID, NOTIFICATION, PR_STORE_ENTRYID