IMAPIMessageSite::DeleteMessage
适用于:Outlook 2013 | Outlook 2016
删除当前消息。
HRESULT DeleteMessage(
LPMAPIVIEWCONTEXT pViewContext,
LPCRECT prcPosRect
);
参数
pViewContext
[in]指向视图上下文对象的指针。
prcPosRect
[in]指向包含当前窗体窗口大小和位置的 RECT 结构的指针。 显示的下一个窗体也使用此窗口矩形。
返回值
S_OK
调用成功,并返回了预期的值。
MAPI_E_NO_SUPPORT
此消息站点不支持此操作。
备注
窗体对象调用 IMAPIMessageSite::D eleteMessage 方法来删除窗体当前显示的消息。
给调用方的说明
返回 DeleteMessage 后,表单对象必须为新邮件检查,如果不存在,则自行关闭。 若要确定 DeleteMessage 所处理的邮件是否已被删除或移动到 “已删除邮件” 文件夹,表单对象可以调用 IMAPIMessageSite::GetSiteStatus 方法来确定是否返回了DELETE_IS_MOVE标志。
针对实现者的说明
如果表单查看器的 DeleteMessage 方法的实现在删除邮件后移动到下一条消息,则实现应调用 IMAPIViewContext::ActivateNext 方法,并在执行实际删除之前传递VCDIR_DELETE标志。 例如,如果表单查看器的 DeleteMessage 实现将已删除邮件 (移动到 “已删除邮件” 文件夹) ,则如果邮件已修改,该实现必须保存对邮件所做的更改。
DeleteMessage 的典型实现执行以下任务:
如果实现移动消息,它将调用 IPersistMessage::Save 方法,在 pMessage 参数中传递 null,在 fSameAsLoad 参数中传递 true。
它调用 IMAPIViewContext::ActivateNext 方法,在 ulDir 参数中传递 VCDIR_DELETE 标志。
如果 ActivateNext 调用失败,则返回 。 如果 ActivateNext 返回S_FALSE,它将调用 IPersistMessage::HandsOffMessage 方法。
它会删除或移动消息。
若要获取窗体窗口使用的 RECT 结构,请调用 Windows GetWindowRect 函数。
有关与表单服务器相关的接口的列表,请参阅 MAPI 表单接口。
MFCMAPI 引用
有关 MFCMAPI 示例代码,请参阅下表。
文件 | 函数 | Comment |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::D eleteMessage |
未实现。 |
另请参阅
IMAPIMessageSite::GetSiteStatus
IMAPIViewContext::ActivateNext