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);
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
Parameter
- pUnk
-
IntPtr
nativeint
Die schnittstelle, die abgefragt werden soll.
- iid
- Guid
Der Schnittstellenbezeichner (IID) der angeforderten Schnittstelle.
- ppv
-
IntPtr
nativeint
Wenn diese Methode zurückgegeben wird, enthält sie 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 dem Ausführen 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 immer, Marshal.Release um die Referenzanzahl zu erhöhen, sobald Sie mit dem Zeiger fertig sind. Um einen IntPtr Wert abzurufen, der einen IUnknown-Schnittstellenzeiger darstellt, können Sie aufrufen Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectoder Marshal.GetIDispatchForObject.