Marshal.GetTypedObjectForIUnknown(IntPtr, Type) メソッド
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
、COM インポート型または COM インポート型のサブタイプである必要があります。 さらに、 は、 t
Tlbimp.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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。