IMAPISession::ShowForm

适用于:Outlook 2013 | Outlook 2016

显示窗体。

HRESULT ShowForm(
  ULONG_PTR ulUIParam,
  LPMDB lpMsgStore,
  LPMAPIFOLDER lpParentFolder,
  LPCIID lpInterface,
  ULONG ulMessageToken,
  LPMESSAGE lpMessageSent,
  ULONG ulFlags,
  ULONG ulMessageStatus,
  ULONG ulMessageFlags,
  ULONG ulAccess,
  LPSTR lpszMessageClass
);

参数

ulUIParam

[in]窗体的父窗口的句柄。

lpMsgStore

[in]指向包含 lpParentFolder 参数指向的文件夹的邮件存储的指针。

lpParentFolder

[in]指向创建与 ulMessageToken 参数关联的邮件的文件夹的指针。

lpInterface

[in]指向接口标识符的指针 (IID) ,该接口表示用于访问窗体中显示的消息的接口。 lpInterface 参数必须为 NULL 或IID_IMessage。 传递 NULL 会导致使用标准接口 IMessage

ulMessageToken

[in]与要显示在窗体中的消息关联的标记。 ulMessageToken 参数必须设置为上一次调用 IMAPISession::P repareFormlpulMessageToken 参数的内容。

lpMessageSent

[in]保留;必须为 NULL。

ulFlags

[in]一个标志的位掩码,用于控制消息的保存方式和是否保存。 可以设置以下标志:

MAPI_NEW_MESSAGE

消息从未保存过 (也就是说,其 IMAPIProp::SaveChanges 方法从未) 调用。

MAPI_POST_MESSAGE

邮件应保存到其父文件夹。 不会处理邮件以发送,而是发布到文件夹。 如果未设置此标志,则会将邮件复制到发件箱并进行处理以发送。

ulMessageStatus

[in]从 PR_MSG_STATUS 复制的标志的位掩码 (PidTagMessageStatus) 与 ulMessageToken 参数中的令牌关联的消息的属性。 标志提供有关消息状态的信息。

ulMessageFlags

[in]从 PR_MESSAGE_FLAGS (PidTagMessageFlags 复制的标志的位掩码,) 与 ulMessageToken 参数中的令牌关联的消息的属性。 这些标志提供有关消息状态的详细信息。

ulAccess

[in]一个标志,指示窗体中显示的邮件的权限级别。 此信息是从与 ulMessageToken 参数中的令牌关联的消息的 PR_ACCESS (PidTagAccess) 属性复制的。

lpszMessageClass

[in]指向窗体中显示的消息的消息类的指针,从 PR_MESSAGE_CLASS (PidTagMessageClass) 属性复制,该属性与 ulMessageToken 参数中的标记相关联。

返回值

S_OK

窗体已成功显示。

MAPI_E_USER_CANCEL

用户取消了操作,通常单击对话框中的“ 取消 ”按钮。

备注

IMAPISession::ShowForm 方法显示 IMAPISession::P repareForm 方法已准备的消息窗体。

给调用方的说明

应只有对 在 PrepareForm 方法的 lpMessage 参数中传递的消息的单个引用。

请注意,表单实现可以返回 MAPI 记录的错误值以外的错误值。 如果可以使用这些错误值来更准确地确定错误条件,请执行此操作。 否则,请像处理MAPI_E_CALL_FAILED一样处理这些错误。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MAPIFormFunctions.cpp
OpenMessageModal
MFCMAPI 使用 IMAPISession::ShowForm 方法以及 PrepareForm 方法以模式形式显示消息。

另请参阅

IMAPIProp::SaveChanges

IMessage : IMAPIProp

IMAPISession::PrepareForm

IMAPISession : IUnknown

MFCMAPI 代码示例