WrapStoreEntryID 

The WrapStoreEntryID function converts a message store s internal entry identifier to an entry identifier more usable by the messaging system.

Quick Info

Header file:

MAPIUTIL.H

Implemented by:

MAPI

Called by:

Client applications and service providers

 

WrapStoreEntryID(

    ULONG ulFlags,

 

    LPTSTR szDLLName,

 

    ULONG cbOrigEntry,

 

    LPENTRYID lpOrigEntry,

 

    ULONG * lpcbWrappedEntry,

 

    LPENTRYID * lppWrappedEntry

 

   );

 

 

Parameters

ulFlags

[in] Bitmask of flags. The following flag can be set:

MAPI_UNICODE

The strings are in Unicode format. If the MAPI_UNICODE flag is not set, the strings are in ANSI format.

szDLLName

[in] The name of the message store provider DLL.

cbOrigEntry

[in] Size, in bytes, of the original entry identifier for the message store.

lpOrigEntry

[in] Pointer to an ENTRYID1.WJMCX structure containing the original entry identifier.

lpcbWrappedEntry

[out] Pointer to the size, in bytes, of the new entry identifier.

lppWrappedEntry

[out] Pointer to a pointer to an ENTRYID structure containing the new entry identifier.

 

Remarks

A message store object retains an internal entry identifier which is meaningful only to service providers coresident with that message store. For other messaging components, MAPI supplies a wrapped version of the internal entry identifier that makes it recognizable as belonging to the message store. Coresident service providers should always be given the original unwrapped message store entry identifier; client applications should always be given the wrapped version, which is then usable anywhere in the messaging domain and in other domains.

A service provider can wrap a message store entry identifier using either the WrapStoreEntryID function or the IMAPISupport::WrapStoreEntryIDHH.8AF method, which calls the WrapStoreEntryID function. The provider must wrap the entry identifier when exposing the message store s PR_ENTRYID2JH9H8T property or writing it into a profile section, and when exposing the PR_STORE_ENTRYIDSH8V.D property. MAPI wraps a message store entry identifier when responding to an IMAPISession::OpenMsgStoreH_S8WS call.

When a client application passes a wrapped message store entry identifier to MAPI, for example in a IMAPISession::OpenEntrySU4OVY call, MAPI unwraps the entry identifier before using it to call a provider method such as IMSProvider::LogonU3W4H6 or IMSProvider::CompareStoreIDs1.J719R.