OpenIMsgSession
适用于:Outlook 2013 | Outlook 2016
创建并打开一个邮件会话,该会话对其中创建的邮件进行分组。
属性 | 值 |
---|---|
标头文件: |
Imessage.h |
实现者: |
MAPI |
调用者: |
客户端应用程序和服务提供商 |
SCODE OpenIMsgSession(
LPMALLOC lpMalloc,
ULONG ulFlags,
LPMSGSESS FAR * lppMsgSess
);
参数
lpMalloc
[in]指向公开 OLE IMalloc 接口的内存分配器对象的 指针。 使用 OLE IStorage 接口时,MAPI 需要使用此分配方法。
ulFlags
[in]保留;必须为零。
lppMsgSess
[out]指向返回的邮件会话对象的指针的指针。
返回值
S_OK
会话已打开。
MAPI_E_INVALID_PARAMETER
lpMalloc 或 lppMsgSess 为 NULL。
MAPI_E_INVALID_FLAGS
传递了无效标志。
MAPI_UNICODE
调用此函数时,客户端或服务提供商会设置 MAPI_UNICODE 标志以创建 Unicode .msg 文件。 生成的 Imessage 文件在其STORE_UNICODE_OK中显示PR_STORE_SUPPORT_MASK并支持 Unicode 属性。
备注
消息会话由需要处理多个相关 MAPI IMessage:IMAPIProp 对象(基于基础 OLE IStorage 对象构建)的客户端应用程序和服务提供商使用。 客户端或提供程序使用 OpenIMsgSession 和 CloseIMsgSession 函数将此类消息的创建包装在邮件会话中。 打开消息会话后,客户端或提供程序在 调用 OpenIMsgOnIStg 时传递指向该会话的指针,以创建新的 IMessage-on- IStorage 对象。
邮件会话跟踪会话期间创建的所有 IMessage-on- IStorage 对象,以及邮件的所有附件和其他属性。 当客户端或提供程序调用 CloseIMsgSession 时,它会关闭所有这些对象。 调用 CloseIMsgSession 是关闭 IMessage-on- IStorage 对象的唯一 方法。
需要能够将多个相关消息作为 OLE IStorage 对象处理的客户端和提供程序使用 OpenIMsgSession。 如果一次仅打开一条此类邮件,则无需跟踪多个邮件,也无需使用 OpenIMsgSession 创建邮件会话。
因为它处理的是基础 OLE 对象,所以 MAPI 需要使用 OLE 内存分配。 有关 OLE 结构化存储对象和 OLE 内存分配的信息,请参阅 OLE 和数据传输。