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_SUBMIT 或 PR_SENTMAIL_ENTRYID ,也未设置两者,或者设置其中一个或另一个。 下表描述了应根据设置执行的操作:
属性 | 值 |
---|---|
如果两个属性均未设置: |
将邮件保留在发送邮件的文件夹中, (通常为发件箱) 。 |
如果同时设置了这两个属性: |
根据需要将邮件移动到指定的文件夹,然后将其删除。 |
如果设置了PR_SENTMAIL_ENTRYID: |
将邮件移动到指定的文件夹。 |
如果设置了PR_DELETE_AFTER_SUBMIT: |
删除邮件。 |
采取任何适当的操作后,调用 IMAPISupport::D oSentMail 方法。