Compartilhar via


Marshal.GetTypedObjectForIUnknown(IntPtr, Type) Método

Definição

Retorna um objeto gerenciado de um tipo especificado que representa um objeto 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

Parâmetros

pUnk
IntPtr

nativeint

Um ponteiro para a interface IUnknown do objeto não gerenciado.

t
Type

O tipo da classe gerenciada solicitada.

Retornos

Uma instância da classe correspondente ao objeto Type que representa o objeto COM não gerenciado solicitado.

Atributos

Exceções

t não está atribuído com ComImportAttribute.

- ou -

t é um tipo do Windows Runtime.

Comentários

O t parâmetro deve ser um tipo importado por COM ou um subtipo de um tipo importado por COM. Além disso, t deve ser um tipo cujos metadados foram importados pela ferramenta Tlbimp.exe (Importador de Biblioteca de Tipos ). Esse tipo deve ser uma classe e não uma interface coclass associada, que carrega o nome da classe COM. Por exemplo, se Tlbimp.exe importa Myclass como uma classe chamada MyclassClass e como uma interface coclass chamada Myclass, você deve usar MyclassClass (não Myclass) com esse método. Para obter informações adicionais sobre classes importadas e interfaces coclass, consulte Conversão de tipo importado.

Se um objeto já tiver sido obtido para o pUnk parâmetro , t será ignorado e o objeto existente será retornado. pUnk representa um ponteiro de interface IUnknown ; no entanto, como todas as interfaces COM derivam direta ou indiretamente de IUnknown, você pode passar qualquer interface COM para esse método. O objeto retornado por GetTypedObjectForIUnknown é um RCW (Runtime Callable Wrapper), que o Common Language Runtime gerencia como faz com qualquer outro objeto gerenciado.

Aplica-se a

Confira também