0

Outlook2010のアドインで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

[ファイル]->[名前を付けて保存]または[ファイル]->[保存]を使用した後、IMAPIProp::CopyToの呼び出しも成功します。IMAPIProp :: CopyToは、PR_MESSAGE_ATTACHMENTSを除外した場合にも成功します。

IMAPIProp :: CopyToの呼び出しを成功させるために、Outlookは何をしているのでしょうか。

4

1 に答える 1

2

CopyTo()は、MSGファイルの上に作成されたメッセージでは(あるとしても)うまく機能しません。唯一のオプションは、GetPropListを実行する独自の関数を作成し、一度に1つのプロパティをコピーして(もちろん、名前付きプロパティを適切に変換して)、添付ファイルと受信者をコピーすることです。

于 2012-05-08T16:30:46.943 に答える