我在 Outlook 2010 的加载项中使用 IMAPIProp::CopyTo 将当前显示的 IMessage 保存到磁盘上 .msg 文件中的新 IMessage 中。对于驻留在用户邮箱中的邮件,一切正常。
当我尝试使用从磁盘上的 .msg 文件打开并包含附件的消息时,IMAPIProp::CopyTo 返回 0x80070005 (MAPI_E_NO_ACCESS)。从 IMAPIProp::GetLastError 返回的详细信息是:
ulVersion: 0
lpszError: "A resource is busy or you lack sufficient access rights or permissions"
lpszComponent: ""
ulLowLevelError: 71
ulContext: 0
使用 File->Save As 或 File->Save 后,我对 IMAPIProp::CopyTo 的调用也成功了。如果我排除 PR_MESSAGE_ATTACHMENTS,IMAPIProp::CopyTo 也会成功。
Outlook 可能会为成功调用 IMAPIProp::CopyTo 做哪些准备?