Marshal.GetComInterfaceForObject メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim o As Object Dim T As Type Dim returnValue As IntPtr returnValue = Marshal.GetComInterfaceForObject(o, T)
戻り値
オブジェクトのインターフェイスを表すインターフェイス ポインタ。


このメソッドは、指定したオブジェクトに対して要求したインターフェイスを表すインターフェイス ポインタを返します。このメソッドは、インターフェイス ポインタを渡す必要があるアンマネージ メソッドがある場合に特に役立ちます。このメソッドでオブジェクトを呼び出すと、ポインタが返される前に、インターフェイス ポインタで参照カウントがインクリメントされます。ポインタの使用が終わったときは、必ず Marshal.Release を使用して参照カウントをデクリメントしてください。生の COM インターフェイス ポインタを使用するときは、COM が定める規則に従ってください。
IntPtr 型として、またはカスタム マーシャリングで COM オブジェクトのパラメータを公開するメソッドを呼び出すときは、GetComInterfaceForObject を使用できます。一般的ではありませんが、オブジェクトの COM 呼び出し可能ラッパーへのポインタを取得するためにマネージ オブジェクトでこのメソッドを使用することもできます。たとえば、COM にエクスポートされたマネージ オブジェクトで GetComInterfaceForObject を使用すると、System.Runtime.InteropServices.UCOMIConnectionPointContainer のインターフェイス ポインタを取得できます。クラス ポインタでは、2 番目のパラメータ (t) に渡すための対応する型がないため、クラス インターフェイスへのポインタを取得することはできません。この場合は、代わりに、Marshal.GetIDispatchForObject を使用して COM 呼び出し可能ラッパーの既定のインターフェイスのメンバを呼び出します。これは通常、オートディスパッチ クラス インターフェイスです。
ランタイム呼び出し可能ラッパーおよび COM 呼び出し可能ラッパーの詳細については、「COM ラッパー」を参照してください。クラス インターフェイスの追加情報については、「クラス インターフェイスの概要」を参照してください。
![]() |
---|
このメソッドは SecurityAction.LinkDemand を使用して、信頼関係のないコードからの呼び出しを防ぎます。SecurityPermissionAttribute.UnmanagedCode アクセス許可は、直前の呼び出し元にのみ要求されます。信頼性が一部しか確認されていないコードから呼び出すことができるコードの場合、ユーザー入力を検証せずに Marshal クラスに渡すことは避けてください。LinkDemand メンバの使用に関する重要な制約事項については、「Demand と LinkDemand」を参照してください。 |

- SecurityPermission (アンマネージ コードを呼び出すために必要なアクセス許可)。 UnmanagedCode (関連する列挙体)。LinkDemand (セキュリティ アクション)。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からMarshal.GetComInterfaceForObject メソッドを検索する場合は、下記のリンクをクリックしてください。

- Marshal.GetComInterfaceForObject メソッドのページへのリンク