Marshal.QueryInterface(IntPtr, Guid, IntPtr) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fordert einen Zeiger auf eine angegebene Schnittstelle von einem COM-Objekt an.
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);
[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, in Guid iid, out IntPtr ppv);
[<System.Security.SecurityCritical>]
static member QueryInterface : nativeint * Guid * nativeint -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
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
Parameter
- pUnk
-
IntPtr
nativeint
Die abzufragende Schnittstelle.
- iid
- Guid
Der Schnittstellenbezeichner (Interface Identifier, IID) der angeforderten Schnittstelle.
- ppv
-
IntPtr
nativeint
Enthält nach dem Beenden der Methode einen Verweis auf die zurückgegebene Schnittstelle.
Gibt zurück
Ein HRESULT, das den Erfolg oder Fehler des Aufrufs angibt.
- Attribute
Hinweise
Die QueryInterface -Methode macht die IUnknown::QueryInterface-Methode eines COM-Objekts verfügbar, die versucht, einen bestimmten Schnittstellenzeiger abzurufen. Die Verwendung QueryInterface
in einem COM-Objekt entspricht der Ausführung eines Umwandlungsvorgangs in verwaltetem Code. Das Aufrufen eines Objekts mit dieser Methode bewirkt, dass die Verweisanzahl auf dem Schnittstellenzeiger erhöht wird, bevor der Zeiger zurückgegeben wird. Verwenden Sie Marshal.Release immer, um die Verweisanzahl zu dekrementieren, sobald Sie mit dem Zeiger fertig sind. Um einen IntPtr Wert abzurufen, der einen IUnknown-Schnittstellenzeiger darstellt, können Sie , Marshal.GetIUnknownForObjectoder Marshal.GetIDispatchForObjectaufrufenMarshal.GetComInterfaceForObject.