WrapStoreEntryID

适用于:Outlook 2013 | Outlook 2016

将消息存储的内部条目标识符转换为消息系统更易使用的条目标识符。

属性
标头文件:
Mapidefs.h
实现者:
MAPI
调用者:
客户端应用程序和服务提供商
WrapStoreEntryID(
  ULONG ulFlags,
  LPSTR szDLLName,
  ULONG cbOrigEntry,
  LPENTRYID lpOrigEntry,
  ULONG * lpcbWrappedEntry,
  LPENTRYID * lppWrappedEntry
);

参数

ulFlags

[in]标志的位掩码。 可以设置以下标志:

MAPI_UNICODE

字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串采用 ANSI 格式。

szDLLName

[in]消息存储提供程序 DLL 的名称。

cbOrigEntry

[in]消息存储区的原始条目标识符的大小(以字节为单位)。

lpOrigEntry

[in]指向包含原始条目标识符的 ENTRYID 结构的指针。

lWrappedEntry

[out]指向新条目标识符的大小(以字节为单位)的指针。

lppWrappedEntry

[out]指向包含新条目标识符的 ENTRYID 结构的指针的指针。

返回值

无。

说明

消息存储对象保留一个内部条目标识符,该标识符仅对具有该消息存储的服务提供商 coresident 有意义。 对于其他消息传送组件,MAPI 提供内部条目标识符的包装版本,使它可识别为属于消息存储区。 应始终为 Coresident 服务提供商提供原始的未包装消息存储项标识符;应始终为客户端应用程序提供包装版本,该版本随后可在消息传送域和其他域中的任意位置使用。

服务提供程序可以使用 WrapStoreEntryID 函数或 IMAPISupport::WrapStoreEntryID 方法(调用 WrapStoreEntryID 函数)包装消息存储项标识符。 在公开消息存储的 PR_ENTRYID (PidTagEntryId) 属性或将其写入配置文件节时,以及公开 PR_STORE_ENTRYID (PidTagStoreEntryId) 属性时,提供程序必须包装条目标识符。 MAPI 在响应 IMAPISession::OpenMsgStore 调用时包装消息存储项标识符。

当客户端应用程序将包装的消息存储项标识符传递给 MAPI 时(例如,在 IMAPISession::OpenEntry 调用中),MAPI 在使用它调用提供程序方法(如 IMSProvider::LogonIMSProvider::CompareStoreIDs)之前会解包条目标识符。