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 repareForm 时 lpulMessageToken 参数的内容。
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 方法以模式形式显示消息。 |