目前正在使用 Add-in Express 开发 Outlook 加载项,我必须恢复到一些纯 MAPI 函数来读取 MAPI 属性。
将此 P/Invoke 包装器添加到 HrGetOneProp
function :
[DllImport(@"MAPI32.DLL")]
static extern int HrGetOneProp(IntPtr pmp, uint ulPropTag, out IntPtr ppProp);
我正在尝试传递 IMAPIProp
类型的 Outlook 附件对象作为函数的第一个参数。
我目前失败的是如何将该对象“转换”为 IntPtr
,以便我可以将其作为第一个参数传递给函数。我试过使用 Marshal.StructureToPtr
但显然这失败并出现异常,因为我不是传递结构,而只是传递对非托管 COM 对象的引用。
所以我的问题是:
如何通过传递COM对象成功调用HrGetOneProp
方法?
最佳答案
关于c# - 如何将 COM 对象作为 IntPtr 传递给 P/Invoke 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12507998/