HrDecomposeEID

Applies to: Outlook 2013 | Outlook 2016

Separates the compound entry identifier of an object, usually a message in a message store, into the entry identifier of that object in the store and the store's entry identifier.

Property Value
Header file:
Mapiutil.h
Implemented by:
MAPI
Called by:
Client applications
HrDecomposeEID(
  LPMAPISESSION psession,
  ULONG cbEID,
  LPENTRYID pEID,
  ULONG FAR * pcbStoreEID,
  LPENTRYID FAR * ppStoreEID,
  ULONG FAR * pcbMsgEID,
  LPENTRYID FAR * ppMsgEID
);

Parameters

psession

[in] Pointer to the session in use by the client application.

cbEID

[in] Size, in bytes, of the compound entry identifier to be separated.

pEID

[in] Pointer to the compound entry identifier to be separated.

pcbStoreEID

[out] Pointer to the returned size, in bytes, of the entry identifier of the message store that contains the object. If the pEID parameter points to a noncompound entry identifier, then the pcbStoreEID parameter points to a value of zero.

ppStoreEID

[out] Pointer to a pointer to the returned entry identifier of the message store that contains the object. If the pEID parameter points to a noncompound entry identifier, NULL is returned in the ppStoreEID parameter.

pcbMsgEID

[out] Pointer to the returned size, in bytes, of the entry identifier of the object. If the pEID parameter points to a noncompound entry identifier, then the pcbMsgEID parameter is equal to the value of the cbEID parameter.

ppMsgEID

[out] Pointer to a pointer to the returned entry identifier of the object. If the pEID parameter points to a noncompound entry identifier, ppMsgEID points to a pointer to a copy of the noncompound entry identifier.

Return value

None.

Remarks

If the identifier specified by the pEID parameter is compound, it is split into the entry identifier of the object within its message store and the store's entry identifier. Noncompound entry identifier strings are simply copied. The compound identifier to be separated is usually one created by the HrComposeEID function.

Notes to callers

The memory that holds the pEID parameter is released upon successful completion of this function. The calling implementation is responsible for freeing memory for the output parameters.