Marshal.QueryInterface(IntPtr, Guid, IntPtr) Metoda

Definice

Vyžádá ukazatel na zadané rozhraní z objektu 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, in Guid iid, out IntPtr ppv);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface(IntPtr pUnk, ref readonly Guid iid, out IntPtr ppv);
[<System.Security.SecurityCritical>]
static member QueryInterface : nativeint * Guid * nativeint -> int
static member QueryInterface : nativeint * Guid * nativeint -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member QueryInterface : nativeint * Guid * nativeint -> int
Public Shared Function QueryInterface (pUnk As IntPtr, ByRef iid As Guid, ByRef ppv As IntPtr) As Integer

Parametry

pUnk
IntPtr

nativeint

Rozhraní, které se má dotazovat.

iid
Guid

Identifikátor rozhraní (IID) požadovaného rozhraní.

ppv
IntPtr

nativeint

Pokud tato metoda vrátí, obsahuje odkaz na vrácené rozhraní.

Návraty

HODNOTA HRESULT, která označuje úspěch nebo selhání volání.

Atributy

Poznámky

Metoda QueryInterface zveřejňuje IUnknown::QueryInterface metoda objektu COM, která se pokusí získat konkrétní ukazatel rozhraní. Použití QueryInterface u objektu COM je stejné jako provádění operace přetypování ve spravovaném kódu. Volání objektu pomocí této metody způsobí, že se počet odkazů zvýší na ukazatel rozhraní před vrácením ukazatele. Po dokončení ukazatele vždy používejte Marshal.Release k dekrementování počtu odkazů. Chcete-li získat IntPtr hodnotu, která představuje ukazatel rozhraní IUnknown , můžete volat Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectnebo Marshal.GetIDispatchForObject.

Platí pro

Viz také