Outlook Redemption выдает ошибку MAPI_E_OBJECT_CHANGED при сохранении RDOMail с использованием развернутого RDOStore - PullRequest
1 голос
/ 19 июня 2019

Это дополнительный вопрос из Код взаимодействия Outlook выдает ошибку «сообщение было изменено» во второй раз, когда код пытается сохранить почтовый элемент .

При распакованном хранилищеработает хорошо в течение некоторого времени, сегодня я обнаружил клиентскую машину, использующую учетную запись IMAP, что даже распакованное хранилище выдает ошибку MAPI_E_OBJECT_CHANGED при вызове метода RDOMail.Save.

Вот пример кода 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

Кто-нибудь имеет представление об этой проблеме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...