问题描述
如何通过其MAPIOBJECT字段和属性标记获取对象的属性?
我使用C#。
例如我有:
//kNown outlook recurrence Exception
OutlookInterop.Exception olapptException;
//get AppointmentItem
OutlookInterop.AppointmentItem lOccurrenceAppointmentItem = olapptException.AppointmentItem;
//get MAPIOBJECT
lOccurrenceAppointmentItem.MAPIOBJECT //this is a pointer to IUnkNown COM interface deeply
//kNown PidLidFExceptionalBody Canonical Property
UInt32 ulPropTag = 0x8206000B;
我需要获取此lOccurrenceAppointmentItem.MAPIOBJECT及其ulPropTag的属性数组。
我用VS2019 C#编写代码。
我想德米特里·斯特雷布连科可以很快回答我:)
提前谢谢!
解决方法
您可以尝试RDOSession.GetRDOObjectFromOutlookObject
,但是我怀疑AppointmentItem.MAPIOBJECT
的异常会返回父约会的IMessage对象。或者,您可以尝试在“兑换”中打开主约会,并按日期或索引获取该例外。
更重要的是,不要硬编码命名的属性标记值(0x8206000B)。使用DASL属性名称(由OutlookSpy显示)或使用GetIDsfromNames
根据GUID和属性名称/索引(也由OutlookSpy显示)获取prop标签值。