IMsgStore::FinishedMsg

适用于:Outlook 2013 | Outlook 2016

使消息存储提供程序能够对发送的消息执行处理。 此方法仅由 MAPI 后台处理程序调用。

HRESULT FinishedMsg(
  ULONG ulFlags,
  ULONG cbEntryID,
  LPENTRYID lpEntryID
);

参数

ulFlags

[in]保留;必须为零。

cbEntryID

[in] lpEntryID 参数指向的条目标识符中的字节计数。

lpEntryID

[in]指向要处理的消息的条目标识符的指针。

返回值

S_OK

已发送消息的处理成功。

MAPI_E_NO_SUPPORT

消息存储提供程序不支持发送的消息处理。 如果调用方不是 MAPI 后台处理程序,则返回此错误值。

备注

IMsgStore::FinishedMsg 方法对发送的消息执行处理。 此处理可能涉及删除邮件、将其移动到其他文件夹或这两种操作。 处理类型取决于 是否 PR_DELETE_AFTER_SUBMIT (PidTagDeleteAfterSubmit) 和 PR_SENTMAIL_ENTRYID (PidTagSentMailEntryId) 属性。

针对实现者的说明

FinishedMsg 的实现中,解锁 lpEntryID 标识的消息并执行相应的处理。 目标消息将始终被锁定;MAPI 后台处理程序永远不会将未锁定消息的入口标识符传递给 FinishedMsg

可能既未设置 PR_DELETE_AFTER_SUBMITPR_SENTMAIL_ENTRYID ,也未设置两者,或者设置其中一个或另一个。 下表描述了应根据设置执行的操作:

属性
如果两个属性均未设置:
将邮件保留在发送邮件的文件夹中, (通常为发件箱) 。
如果同时设置了这两个属性:
根据需要将邮件移动到指定的文件夹,然后将其删除。
如果设置了PR_SENTMAIL_ENTRYID:
将邮件移动到指定的文件夹。
如果设置了PR_DELETE_AFTER_SUBMIT:
删除邮件。

采取任何适当的操作后,调用 IMAPISupport::D oSentMail 方法。

另请参阅

IMAPISupport::DoSentMail

IMsgStore : IMAPIProp