InteropServices.Marshal.QueryInterface
C# で COM オブジェクトを特定の型に変換しようとしていますが、最初と最後のパラメーターを渡すのに問題があります。
私はそれが参照であると想定していますが、構文エラーのためにクラスを参照して QueryInterface を使用するIntPtr
ことができません。IntPtr
もちろん、以下に示すコードの構文は正しくありませんが、私が何をしようとしているのかがわかります。
set
{
ClassA a;
Guid guid = Guid.Parse("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
System.Runtime.InteropServices.Marshal.QueryInterface(ref value,
ref guid, out a);
}
編集:
[ComVisible(true), Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public ClassA : COMInterface{ ... }
ClassA は C# クラスでCOMInterface
、COM インターフェイスです。を実装する唯一のクラスですCOMInterface
。スコープ内は COM インターフェイスへの参照ですvalue
。set
COMInterface