Marshal.QueryInterface(IntPtr, Guid, IntPtr) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Solicita um ponteiro para uma interface especificada a partir de um objeto COM.
public:
static int QueryInterface(IntPtr pUnk, Guid % iid, [Runtime::InteropServices::Out] IntPtr % ppv);
[System.Security.SecurityCritical]
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);
[<System.Security.SecurityCritical>]
static member QueryInterface : nativeint * Guid * nativeint -> int
static member QueryInterface : nativeint * Guid * nativeint -> int
Public Shared Function QueryInterface (pUnk As IntPtr, ByRef iid As Guid, ByRef ppv As IntPtr) As Integer
Parâmetros
- pUnk
-
IntPtr
nativeint
A interface a ser consultada.
- iid
- Guid
O identificador da interface (IID) da interface solicitada.
- ppv
-
IntPtr
nativeint
Quando este método retorna, contém uma referência à interface retornada.
Devoluções
Um HRESULT que indica o sucesso ou fracasso da chamada.
- Atributos
Observações
O QueryInterface método expõe o método IUnknown::QueryInterface de um objeto COM, que tenta obter um ponteiro de interface específico. Usar QueryInterface num objeto COM é o mesmo que realizar uma operação de cast em código gerido. Chamar um objeto com este método faz com que a contagem de referências aumente no ponteiro da interface antes de este ser devolvido. Usa Marshal.Release sempre para diminuir a contagem de referências depois de terminares com o apontador. Para obter um IntPtr valor que represente um ponteiro de interface IUnknown , pode chamar Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObject, ou Marshal.GetIDispatchForObject.