Marshal.GetTypedObjectForIUnknown(IntPtr, Type) メソッド

定義

COM オブジェクトを表す指定した型のマネージド オブジェクトを返します。

public:
 static System::Object ^ GetTypedObjectForIUnknown(IntPtr pUnk, Type ^ t);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
[System.Security.SecurityCritical]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
Public Shared Function GetTypedObjectForIUnknown (pUnk As IntPtr, t As Type) As Object

パラメーター

pUnk
IntPtr

nativeint

アンマネージ オブジェクトの IUnknown インターフェイスへのポインター。

t
Type

要求されたマネージド クラスの型。

返品

要求されたアンマネージ COM オブジェクトを表す Type オブジェクトに対応するクラスのインスタンス。

属性

例外

t は、 ComImportAttributeに属性付けされていません。

-又は-

t はWindows ランタイム型です。

注釈

t パラメーターは、COM インポート型または COM インポート型のサブタイプである必要があります。 また、 t は、 Tlbimp.exe (タイプ ライブラリ インポーター) ツールによってメタデータがインポートされた型である必要があります。 この型は、COM クラスの名前を持つ関連付けられたコクラス インターフェイスではなく、クラスである必要があります。 たとえば、Tlbimp.exe MyclassMyclassClass というクラスとしてインポートし、 Myclass と呼ばれるコクラス インターフェイスとしてインポートする場合は、このメソッドで MyclassClass ( Myclassではなく) を使用する必要があります。

pUnk パラメーターのオブジェクトが既に取得されている場合、tは無視され、既存のオブジェクトが返されます。 pUnk は IUnknown インターフェイス ポインターを表します。ただし、すべての COM インターフェイスはIUnknownから直接または間接的に派生するため、任意の COM インターフェイスをこのメソッドに渡すことができます。 GetTypedObjectForIUnknownによって返されるオブジェクトはランタイム呼び出し可能ラッパー (RCW) であり、他のマネージド オブジェクトと同様に共通言語ランタイムが管理します。

適用対象

こちらもご覧ください