現在、Add-in Expressを使用してOutlookアドインを開発していますが、MAPIプロパティを読み取るためにいくつかの純粋なMAPI関数に戻す必要があります。
このP/InvokeラッパーをHrGetOneProp
関数に持つ:
[DllImport(@"MAPI32.DLL")]
static extern int HrGetOneProp(IntPtr pmp, uint ulPropTag, out IntPtr ppProp);
IMAPIProp
タイプのOutlook添付ファイルオブジェクトを最初のパラメーターとして関数に渡そうとしています。
私が現在失敗しているのは、そのオブジェクトをIntPtr
関数に最初のパラメーターとして渡すことができるように、そのオブジェクトをに「変換」する方法です。使用しようとしましたが、構造体を渡さず、管理されていないCOMオブジェクトへの参照を渡すだけなMarshal.StructureToPtr
ので、明らかにこれは例外で失敗しました。
だから私の質問は:
HrGetOneProp
COMオブジェクトを渡してメソッドを正常に呼び出す方法は?