Marshal.GetTypedObjectForIUnknown(IntPtr, Type) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un objeto administrado de un tipo especificado que representa un 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
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
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.