Я разрабатываю addin, который должен хранить некоторые данные на почтовых отправлениях. Я использую библиотеку Redemption и метод MAPI.Utils HrSetOneProp.Пользовательское свойство MAPI_E_OBJECT_CHANGED
Только в Outlook 2016 я получаю «Ошибка в IMAPIProp :: SaveChanges: MAPI_E_OBJECT_CHANGED» каждый раз, когда я делаю второй вызов метода на том же самом почтовом ящике.
Пробовал использовать объекты RDO Redemption, а также простой OOM с теми же результатами.
Вот пример:
SafeMailItem m = RedemptionGM9.SafeMailItem;
m.Item = mailItem; // this mailitem came as parameter in the function and it is the activeExplorer slection
MAPIUtils utils = RedemptionGM9.MAPIUtils;
string sGUID = PS_PUBLIC_STRINGS.ToString("B");
int iID = m.GetIDsFromNames(sGUID, GMLINK);
if (iID != 0)
{
//this is the method that is failing every second time for the same mailitem until you restart outlook.
utils.HrSetOneProp(mailItem.MAPIOBJECT, iID, bForceGMPropTrue ? true : !String.IsNullOrEmpty(sAccNo), true);
}
Marshal.ReleaseComObject(utils);
utils = null;
Marshal.ReleaseComObject(m);
m = null;
//mailitem com object is released outside this method
пожалуйста, проверьте [mcve] ans [ask] – Claudius
Каков соответствующий фрагмент кода? –
там я добавил фрагмент кода –