Marshal.QueryInterface(IntPtr, Guid, IntPtr) Methode

Definitie

Vraagt een aanwijzer naar een opgegeven interface vanuit een COM-object.

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

Parameters

pUnk
IntPtr

nativeint

De interface die moet worden opgevraagd.

iid
Guid

De interface-id (IID) van de aangevraagde interface.

ppv
IntPtr

nativeint

Wanneer deze methode wordt geretourneerd, bevat deze een verwijzing naar de geretourneerde interface.

Retouren

Een HRESULT dat aangeeft dat de oproep is geslaagd of mislukt.

Kenmerken

Opmerkingen

Met QueryInterface de methode wordt de methode IUnknown::QueryInterface van een COM-object weergegeven, waarmee een specifieke interfaceaanwijzer wordt opgehaald. Het gebruik van QueryInterface een COM-object is hetzelfde als het uitvoeren van een cast-bewerking in beheerde code. Als u een object aanroept met deze methode, wordt het aantal verwijzingen verhoogd op de interfaceaanwijzer voordat de aanwijzer wordt geretourneerd. Gebruik Marshal.Release altijd om het aantal verwijzingen te verlagen zodra u klaar bent met de aanwijzer. Als u een IntPtr waarde wilt verkrijgen die een IUnknown-interfaceaanwijzer vertegenwoordigt, kunt u aanroepen Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectof Marshal.GetIDispatchForObject.

Van toepassing op

Zie ook