Marshal.CreateWrapperOfType Método

Definição

Sobrecargas

Name Description
CreateWrapperOfType(Object, Type)
Obsoleto.

Envolve o objeto COM especificado num objeto do tipo especificado.

CreateWrapperOfType<T,TWrapper>(T)

Envolve o objeto COM especificado num objeto do tipo especificado.

CreateWrapperOfType(Object, Type)

Atenção

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

Envolve o objeto COM especificado num objeto do tipo especificado.

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);
public static object CreateWrapperOfType(object o, Type t);
[System.Security.SecurityCritical]
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
static member CreateWrapperOfType : obj * Type -> obj
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
Public Shared Function CreateWrapperOfType (o As Object, t As Type) As Object

Parâmetros

o
Object

O objeto a ser embrulhado.

t
Type

O tipo de embalagem a criar.

Devoluções

O objeto recém-embrulhado que é uma instância do tipo desejado.

Atributos

Exceções

t deve derivar de __ComObject.

-ou-

t é um tipo Windows Runtime.

O t parâmetro é null.

o não pode ser convertido para o tipo de destino porque não suporta todas as interfaces necessárias.

Observações

CreateWrapperOfType converte um tipo de classe COM, tipicamente o tipo base __ComObject , para outro tipo de classe COM. O objeto COM de entrada, representado pelo parâmetro o, é um Invólucro Chamável em Tempo de Execução (RCW).

Ambos os t parâmetros e o devem ser classes cujas assinaturas são atribuídas com System.Runtime.InteropServices.ComImportAttribute. A ferramenta Tlbimp.exe (Importador de Biblioteca de Tipos) aplica este atributo para ti quando importa uma biblioteca de tipos. Se criares o RCW manualmente em código-fonte, deves aplicar este atributo à assinatura gerida que representa a coclasse original para indicar as suas origens COM.

Tlbimp.exe importa uma coclasse COM como uma classe gerida e uma interface. A interface da coclasse tem o mesmo nome da coclasse original, e a classe gerida tem o nome original da coclasse acrescentado a "Classe". Por exemplo, uma coclasse chamada MyCoclass torna-se uma interface de coclasse chamada MyCoclass e uma classe gerida chamada MyCoclassClass. Como t deve ser uma classe, não uma interface, certifique-se de especificar a classe gerida (MyCoclassClass) e não a interface de coclasse.

Note

Perdes a identidade do objeto COM de entrada porque uma nova instância RCW envolve o ponteiro IUnknown exposto pelo RCW original.

Ver também

Aplica-se a

CreateWrapperOfType<T,TWrapper>(T)

Envolve o objeto COM especificado num objeto do tipo especificado.

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

Parâmetros de Tipo Genérico

T

O tipo de objeto a envolver.

TWrapper

O tipo de objeto a devolver.

Parâmetros

o
T

O objeto a ser embrulhado.

Devoluções

TWrapper

O objeto recém-embrulhado.

Atributos

Exceções

T deve derivar de __ComObject.

-ou-

T é um tipo Windows Runtime.

o não pode ser convertido para o TWrapper porque não suporta todas as interfaces necessárias.

Observações

CreateWrapperOfType<T,TWrapper>(T) converte um objeto COM do tipo T para o TWrapper tipo de classe COM. O objeto COM de entrada, representado pelo parâmetro o, é um Invólucro Chamável em Tempo de Execução (RCW).

Tanto o T parâmetro genérico de tipo como o o parâmetro devem ser classes cujas assinaturas são atribuídas ao System.Runtime.InteropServices.ComImportAttribute atributo. A ferramenta Tlbimp.exe (Importador de Biblioteca de Tipos) aplica este atributo para ti quando importa uma biblioteca de tipos. Se criares o RCW manualmente em código-fonte, deves aplicar este atributo à assinatura gerida que representa a coclasse original para indicar as suas origens COM.

Tlbimp.exe importa uma coclasse COM como uma classe gerida e uma interface. A interface da coclasse tem o mesmo nome da coclasse original, e a classe gerida tem o nome original da coclasse acrescentado a "Classe". Por exemplo, uma coclasse chamada MyCoclass torna-se uma interface de coclasse chamada MyCoclass e uma classe gerida chamada MyCoclassClass. ComoT deve ser uma classe, não uma interface, certifique-se de especificar a classe gerida (MyCoclassClass) e não a coclass interface.

Note

Perdes a identidade do objeto COM de entrada, porque uma nova instância RCW envolve o ponteiro IUnknown exposto pelo RCW original.

Aplica-se a