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

lpMalloclppMsgSess 为 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 对象构建)的客户端应用程序和服务提供商使用。 客户端或提供程序使用 OpenIMsgSessionCloseIMsgSession 函数将此类消息的创建包装在邮件会话中。 打开消息会话后,客户端或提供程序在 调用 OpenIMsgOnIStg 时传递指向该会话的指针,以创建新的 IMessage-on- IStorage 对象。

邮件会话跟踪会话期间创建的所有 IMessage-on- IStorage 对象,以及邮件的所有附件和其他属性。 当客户端或提供程序调用 CloseIMsgSession 时,它会关闭所有这些对象。 调用 CloseIMsgSession 是关闭 IMessage-on- IStorage 对象的唯一 方法。

需要能够将多个相关消息作为 OLE IStorage 对象处理的客户端和提供程序使用 OpenIMsgSession。 如果一次仅打开一条此类邮件,则无需跟踪多个邮件,也无需使用 OpenIMsgSession 创建邮件会话。

因为它处理的是基础 OLE 对象,所以 MAPI 需要使用 OLE 内存分配。 有关 OLE 结构化存储对象和 OLE 内存分配的信息,请参阅 OLE 和数据传输