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 オブジェクトに対応するクラスのインスタンス。

属性

例外

tComImportAttributeを持つ属性ではありません。

または

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

注釈

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

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

適用対象

こちらもご覧ください