Marshal.CreateWrapperOfType メソッド

定義

オーバーロード

名前 説明
CreateWrapperOfType(Object, Type)
古い.

指定した COM オブジェクトを、指定した型のオブジェクトでラップします。

CreateWrapperOfType<T,TWrapper>(T)

指定した COM オブジェクトを、指定した型のオブジェクトでラップします。

CreateWrapperOfType(Object, Type)

ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs

注意事項

CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T).

指定した COM オブジェクトを、指定した型のオブジェクトでラップします。

public:
 static System::Object ^ CreateWrapperOfType(System::Object ^ o, Type ^ t);
[System.Obsolete("CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T).")]
[System.Security.SecurityCritical]
public static object CreateWrapperOfType(object o, Type t);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object? CreateWrapperOfType(object? o, Type t);
[System.Security.SecurityCritical]
public static object CreateWrapperOfType(object o, Type t);
public static object CreateWrapperOfType(object o, Type t);
public static object? CreateWrapperOfType(object? o, Type t);
[<System.Obsolete("CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T).")>]
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member CreateWrapperOfType : obj * Type -> obj
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
static member CreateWrapperOfType : obj * Type -> obj
Public Shared Function CreateWrapperOfType (o As Object, t As Type) As Object

パラメーター

o
Object

ラップするオブジェクト。

t
Type

作成するラッパーの種類。

返品

目的の型のインスタンスである、新しくラップされたオブジェクト。

属性

例外

t は、 __ComObjectから派生する必要があります。

-又は-

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

t パラメーターはnull

o は、必要なすべてのインターフェイスをサポートしていないため、変換先の型に変換できません。

注釈

CreateWrapperOfType は、1 つの COM クラス型 (通常は基本 __ComObject 型) を別の COM クラス型に変換します。 パラメーター oで表される入力 COM オブジェクトは、 ランタイム呼び出し可能ラッパー (RCW) です

tパラメーターと o パラメーターの両方が、シグネチャが System.Runtime.InteropServices.ComImportAttribute に属性付けされたクラスである必要があります。 Tlbimp.exe (タイプ ライブラリ インポーター) ツールは、タイプ ライブラリをインポートするときにこの属性を適用します。 ソース コードで RCW を手動で作成する場合は、元のコクラスを表すマネージド署名にこの属性を適用して、その COM の起源を示す必要があります。

Tlbimp.exe は、COM コクラスをマネージド クラスおよびインターフェイスとしてインポートします。 コクラス インターフェイスの名前は元のコクラスと同じで、マネージド クラスには元のコクラス名に "Class" が付加されています。 たとえば、 MyCoclass と呼ばれるコクラスは、 MyCoclass と呼ばれるコクラス インターフェイスになり、マネージド クラスは MyCoclassClass と呼ばれます。 tインターフェイスではなくクラスである必要があるため、コクラス インターフェイスではなくマネージド クラス (MyCoclassClass) を必ず指定してください。

新しい RCW インスタンスが元の RCW によって公開されている IUnknown ポインターをラップするため、入力 COM オブジェクトの ID が失われます。

こちらもご覧ください

適用対象

CreateWrapperOfType<T,TWrapper>(T)

ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs
ソース:
Marshal.NoCom.cs

指定した COM オブジェクトを、指定した型のオブジェクトでラップします。

public:
generic <typename T, typename TWrapper>
 static TWrapper CreateWrapperOfType(T o);
[System.Security.SecurityCritical]
public static TWrapper CreateWrapperOfType<T,TWrapper>(T o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static TWrapper CreateWrapperOfType<T,TWrapper>(T? o);
public static TWrapper CreateWrapperOfType<T,TWrapper>(T o);
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : 'T -> 'Wrapper
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member CreateWrapperOfType : 'T -> 'Wrapper
static member CreateWrapperOfType : 'T -> 'Wrapper
Public Shared Function CreateWrapperOfType(Of T, TWrapper) (o As T) As TWrapper

型パラメーター

T

ラップするオブジェクトの種類。

TWrapper

返すオブジェクトの型。

パラメーター

o
T

ラップするオブジェクト。

返品

TWrapper

新しくラップされたオブジェクト。

属性

例外

T は、 __ComObjectから派生する必要があります。

-又は-

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

o は、必要なすべてのインターフェイスをサポートしていないため、 TWrapper に変換できません。

注釈

CreateWrapperOfType<T,TWrapper>(T) は、 T 型の COM オブジェクトを TWrapper COM クラス型に変換します。 パラメーター oで表される入力 COM オブジェクトは、 ランタイム呼び出し可能ラッパー (RCW) です

Tジェネリック型パラメーターと o パラメーターの両方が、シグネチャが System.Runtime.InteropServices.ComImportAttribute 属性を持つクラスである必要があります。 Tlbimp.exe (タイプ ライブラリ インポーター) ツールは、タイプ ライブラリをインポートするときにこの属性を適用します。 ソース コードで RCW を手動で作成する場合は、元のコクラスを表すマネージド署名にこの属性を適用して、その COM の起源を示す必要があります。

Tlbimp.exe は、COM コクラスをマネージド クラスおよびインターフェイスとしてインポートします。 コクラス インターフェイスの名前は元のコクラスと同じで、マネージド クラスには元のコクラス名に "Class" が付加されています。 たとえば、 MyCoclass と呼ばれるコクラスは、 MyCoclass と呼ばれるコクラス インターフェイスになり、マネージド クラスは MyCoclassClass と呼ばれます。 Tはインターフェイスではなくクラスである必要があるため、coclass インターフェイスではなく、マネージド クラス (MyCoclassClass) を必ず指定してください。

新しい RCW インスタンスが元の RCW によって公開されている IUnknown ポインターをラップするため、入力 COM オブジェクトの ID が失われます。

適用対象