Marshal.GetTypedObjectForIUnknown(IntPtr, Type) Método

Definición

Devuelve un objeto administrado de un tipo especificado que representa un objeto COM.

C#
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
C#
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
C#
[System.Security.SecurityCritical]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);

Parámetros

pUnk
IntPtr

Puntero a la interfaz IUnknown del objeto no administrado.

t
Type

Tipo de la clase administrada solicitada.

Devoluciones

Instancia de la clase correspondiente al objeto Type que representa al objeto COM no administrado solicitado.

Atributos

Excepciones

t no tiene el atributo ComImportAttribute.

o bien

t es un tipo de Windows Runtime.

Comentarios

El t parámetro debe ser un tipo importado por COM o un subtipo de un tipo importado por COM. Además, t debe ser un tipo cuyos metadatos se importaron mediante la herramienta Tlbimp.exe (Importador de biblioteca de tipos). Este tipo debe ser una clase y no una interfaz de coclase asociada, que lleva el nombre de la clase COM. Por ejemplo, si Tlbimp.exe importa Myclass como una clase denominada MyclassClass y como una interfaz de coclase denominada Myclass, debe usar MyclassClass (no Myclass) con este método. Para obtener información adicional sobre las clases importadas y las interfaces de coclase, vea Conversión de tipos importados.

Si ya se ha obtenido un objeto para el pUnk parámetro , t se omite y se devuelve el objeto existente. pUnk representa un puntero de interfaz IUnknown ; sin embargo, dado que todas las interfaces COM derivan directa o indirectamente de IUnknown, puede pasar cualquier interfaz COM a este método. El objeto devuelto por GetTypedObjectForIUnknown es un contenedor invocable en tiempo de ejecución (RCW), que Common Language Runtime administra como hace cualquier otro objeto administrado.

Se aplica a

Produto Versións
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.1

Consulte también