目前正在使用 Add-in Express 开发 Outlook 加载项,我必须恢复为一些纯 MAPI 函数来读取 MAPI 属性。
将这个 P/Invoke 包装器添加到HrGetOneProp
函数中:
[DllImport(@"MAPI32.DLL")]
static extern int HrGetOneProp(IntPtr pmp, uint ulPropTag, out IntPtr ppProp);
我正在尝试将类型的 Outlook 附件对象IMAPIProp
作为第一个参数传递给函数。
我目前失败的是如何将该对象“转换”为一个IntPtr
,以便我可以将它作为第一个参数传递给函数。我试过使用Marshal.StructureToPtr
,但显然这失败了一个例外,因为我没有传递一个结构,而只是一个对非托管 COM 对象的引用。
所以我的问题是:
如何HrGetOneProp
通过传递 COM 对象成功调用方法?