通过MAPIOBJECT兑换获取对象属性

问题描述

如何通过其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标签值。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...