私はメールアイテムにいくつかのデータを格納する必要があるaddinを開発しています。私はRedemptionライブラリとMAPI.Utils HrSetOnePropメソッドを使用しています。カスタムプロパティMAPI_E_OBJECT_CHANGED
Outlook 2016でのみ、同じメールアイテムのメソッドを2回呼び出すたびに「IMAPIProp :: SaveChanges:MAPI_E_OBJECT_CHANGED」というエラーが発生します。
Redemption RDOオブジェクトを使用して試行し、同じ結果を持つプレーン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
コードの関連するスニペットは何ですか? –
そこにコードの部分を追加しました –