The PR_ENTRYID property contains a MAPI entry identifier used to open and edit properties of a particular MAPI object.
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 |
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 |
Base Address Properties, ENTRYID, NOTIFICATION, PR_STORE_ENTRYID