Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
Marshal.QueryInterface (Método)

Solicita un puntero a una interfaz especificada de un objeto COM.

Espacio de nombres: System.Runtime.InteropServices
Ensamblado: mscorlib (en mscorlib.dll)

Visual Basic (Declaración)
Public Shared Function QueryInterface ( _
    pUnk As IntPtr, _
    ByRef iid As Guid, _
    <OutAttribute> ByRef ppv As IntPtr _
) As Integer
Visual Basic (Uso)
Dim pUnk As IntPtr
Dim iid As Guid
Dim ppv As IntPtr
Dim returnValue As Integer

returnValue = Marshal.QueryInterface(pUnk, iid, ppv)
C#
public static int QueryInterface (
    IntPtr pUnk,
    ref Guid iid,
    out IntPtr ppv
)
C++
public:
static int QueryInterface (
    IntPtr pUnk, 
    Guid% iid, 
    [OutAttribute] IntPtr% ppv
)
J#
public static int QueryInterface (
    IntPtr pUnk, 
    /** @ref */ Guid iid, 
    /** @attribute OutAttribute() */ /** @ref */ IntPtr ppv
)
JScript
JScript no admite la operación de pasar argumentos de tipo de valor por referencia.

Parámetros

pUnk

Interfaz que se va a consultar.

iid

Guid, pasado por referencia, que es el identificador de interfaz (IID) de la interfaz solicitada.

ppv

Cuando este método finaliza, contiene una referencia a la interfaz devuelta.

Valor devuelto

HRESULT que indica si la llamada se realizó correctamente o no.

El método QueryInterface expone IUnknown::QueryInterface de un objeto COM, que intenta obtener un puntero de interfaz específico. Utilizar QueryInterface en un objeto COM es similar a realizar una operación de conversión en código administrado. Al llamar a un objeto con este método, el contador de referencia aumenta en el puntero de interfaz antes de que se devuelva el puntero. Utilice siempre Marshal.Release para disminuir el recuento de referencias cuando haya terminado con el puntero. Para obtener un valor de IntPtr que represente un puntero de interfaz IUnknown, puede llamar a Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObject o Marshal.GetIDispatchForObject.

NotaNota

Este método utiliza SecurityAction.LinkDemand para evitar que se le llame desde código que no sea de confianza; sólo el llamador inmediato debe disponer del permiso SecurityPermissionAttribute.UnmanagedCode. Si se puede llamar al código desde código de confianza parcial, no pase ninguna entrada de usuario a los métodos de la clase Marshal sin validación. Para conocer las limitaciones importantes que existen a la hora de utilizar el miembro LinkDemand, vea Demand frente a LinkDemand.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker