Marshal.GetTypedObjectForIUnknown(IntPtr, Type) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.