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

Public Shared Function QueryInterface ( _ pUnk As IntPtr, _ ByRef iid As Guid, _ <OutAttribute> ByRef ppv As IntPtr _ ) As Integer
Dim pUnk As IntPtr Dim iid As Guid Dim ppv As IntPtr Dim returnValue As Integer returnValue = Marshal.QueryInterface(pUnk, iid, ppv)
public static int QueryInterface ( IntPtr pUnk, /** @ref */ Guid iid, /** @attribute OutAttribute() */ /** @ref */ IntPtr ppv )
戻り値
呼び出しの成功または失敗を示す HRESULT。

QueryInterface メソッドは COM オブジェクトの IUnknown::QueryInterface を公開します。これは、指定されたインターフェイス ポインタを取得しようとします。COM オブジェクトで QueryInterface を使用することは、マネージ コードでキャストを実行することと同じです。このメソッドでオブジェクトを呼び出すと、ポインタが返される前に、インターフェイス ポインタで参照カウントがインクリメントされます。ポインタの使用が終わったときは、必ず Marshal.Release を使用して参照カウントをデクリメントしてください。IUnknown インターフェイス ポインタを表す IntPtr の値を取得するには、Marshal.GetComInterfaceForObject、Marshal.GetIUnknownForObject、または Marshal.GetIDispatchForObject を使用できます。
![]() |
---|
このメソッドは 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.QueryInterface メソッドを検索する場合は、下記のリンクをクリックしてください。

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