Partager via


Marshal.CreateWrapperOfType Méthode

Définition

Surcharges

Nom Description
CreateWrapperOfType(Object, Type)
Obsolète.

Encapsule l’objet COM spécifié dans un objet du type spécifié.

CreateWrapperOfType<T,TWrapper>(T)

Encapsule l’objet COM spécifié dans un objet du type spécifié.

CreateWrapperOfType(Object, Type)

Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs

Attention

CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519

Encapsule l’objet COM spécifié dans un objet du type spécifié.

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). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519")]
[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). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519")>]
[<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

Paramètres

o
Object

Objet à wrapper.

t
Type

Type de wrapper à créer.

Retours

Objet récemment encapsulé qui est une instance du type souhaité.

Attributs

Exceptions

t doit dériver de __ComObject.

- ou -

t est un type Windows Runtime.

Le t paramètre est null.

o ne peut pas être converti en type de destination, car il ne prend pas en charge toutes les interfaces requises.

Remarques

CreateWrapperOfType convertit un type de classe COM, généralement le type de base __ComObject , en un autre type de classe COM. L’objet COM d’entrée, représenté par le paramètreo, est un wrapper rcW (Runtime Callable Wrapper).

Les paramètres et o les t deux doivent être des classes dont les signatures sont attribuées avec System.Runtime.InteropServices.ComImportAttribute. L’outilTlbimp.exe (Importateur de bibliothèque de types) applique cet attribut lorsque celui-ci importe une bibliothèque de types. Si vous créez manuellement rcW dans le code source, vous devez appliquer cet attribut à la signature managée qui représente la coclasse d’origine pour signer ses origines COM.

Tlbimp.exe importe une coclasse COM en tant que classe managée et interface. L’interface de coclasse porte le même nom que la coclasse d’origine, et la classe managée a le nom de coclasse d’origine ajouté à « Class ». Par exemple, une coclasse appelée MyCoclass devient une interface de coclasse appelée MyCoclass et une classe managée appelée MyCoclassClass. Comme t il doit s’agir d’une classe, et non d’une interface, veillez à spécifier la classe managée (MyCoclassClass) et non l’interface de coclasse.

Note

Vous perdez l’identité de l’objet COM d’entrée, car une nouvelle instance RCW encapsule le pointeur IUnknown exposé par le RCW d’origine.

Voir aussi

S’applique à

CreateWrapperOfType<T,TWrapper>(T)

Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs

Encapsule l’objet COM spécifié dans un objet du type spécifié.

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

Paramètres de type

T

Type d’objet à encapsuler.

TWrapper

Type d’objet à retourner.

Paramètres

o
T

Objet à wrapper.

Retours

TWrapper

Objet récemment encapsulé.

Attributs

Exceptions

T doit dériver de __ComObject.

- ou -

T est un type Windows Runtime.

o ne peut pas être converti en TWrapper étant donné qu’il ne prend pas en charge toutes les interfaces requises.

Remarques

CreateWrapperOfType<T,TWrapper>(T) convertit un objet COM de type T en TWrapper type de classe COM. L’objet COM d’entrée, représenté par le paramètreo, est un wrapper rcW (Runtime Callable Wrapper).

Le T paramètre de type générique et le o paramètre doivent être des classes dont les signatures sont attribuées avec l’attribut System.Runtime.InteropServices.ComImportAttribute . L’outilTlbimp.exe (Importateur de bibliothèque de types) applique cet attribut lorsque celui-ci importe une bibliothèque de types. Si vous créez manuellement rcW dans le code source, vous devez appliquer cet attribut à la signature managée qui représente la coclasse d’origine pour signer ses origines COM.

Tlbimp.exe importe une coclasse COM en tant que classe managée et interface. L’interface de coclasse porte le même nom que la coclasse d’origine, et la classe managée a le nom de coclasse d’origine ajouté à « Class ». Par exemple, une coclasse appelée MyCoclass devient une interface de coclasse appelée MyCoclass et une classe managée appelée MyCoclassClass. CommeT il doit s’agir d’une classe, et non d’une interface, veillez à spécifier la classe managée (MyCoclassClass) et non l’interface coclass .

Note

Vous perdez l’identité de l’objet COM d’entrée, car une nouvelle instance RCW encapsule le pointeur IUnknown exposé par le RCW d’origine.

S’applique à