虽然解包装的存储可以正常工作一段时间,但是今天,我发现使用IMAP帐户的客户端计算机在调用RDOMail.Save
方法时,即使解包装的存储也引发了MAPI_E_OBJECT_CHANGED错误。
这是示例C#代码:
var rdoSession= RedemptionLoader.new_RDOSession();
rdoSession.MAPIOBJECT = new Application().Session.MAPIOBJECT;
var rdoMail = rdoSession.GetRDOObjectFromOutlookObject(mailItem);
var unwrappedRdoStore = rdoSession.Stores.UnwrapStore(rdoMail.Parent.Store);
var unwrappedRdoMail = unwrappedRdoStore.GetMessageFromID(mailItem.entryId);
unwrappedRdoMail.Subject = "new subject";
unwrappedRdoMail.Save();
Save
调用会引发以下错误:
System.Runtime.InteropServices.COMException (0x80040109): Error in IMAPIProp::SaveChanges: MAPI_E_OBJECT_CHANGED
ulVersion: 0
Component: Outlook Data File
ulLowLevelError: 0
ulContext: 805634562
有人对这个问题有任何想法吗?