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

定義

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

C#
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
C#
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
C#
[System.Security.SecurityCritical]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);

パラメーター

pUnk
IntPtr

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

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

こちらもご覧ください