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

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

戻り値

Object

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

属性

例外

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

または

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

注釈

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

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

適用対象

こちらもご覧ください