Marshal.CreateWrapperOfType メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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 パラメーターは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
ラップするオブジェクト。
返品
新しくラップされたオブジェクト。
- 属性
例外
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 が失われます。