次の方法で共有


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) です。これは、共通言語ランタイムが他のマネージド オブジェクトと同様に管理します。

適用対象

こちらもご覧ください