Udostępnij za pośrednictwem


Marshal.QueryInterface(IntPtr, Guid, IntPtr) Metoda

Definicja

Żąda wskaźnika do określonego interfejsu z obiektu 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);
[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

Parametry

pUnk
IntPtr

nativeint

Interfejs, do którego ma być odpytywane.

iid
Guid

Identyfikator interfejsu (IID) żądanego interfejsu.

ppv
IntPtr

nativeint

Gdy ta metoda zostanie zwrócona, zawiera odwołanie do zwróconego interfejsu.

Zwraca

HRESULT wskazujący powodzenie lub niepowodzenie wywołania.

Atrybuty

Uwagi

Metoda QueryInterface uwidacznia metodę IUnknown::QueryInterface obiektu COM, która próbuje uzyskać określony wskaźnik interfejsu. Użycie QueryInterface obiektu COM jest takie samo jak wykonywanie operacji rzutowania w kodzie zarządzanym. Wywołanie obiektu za pomocą tej metody powoduje, że liczba odwołań zwiększa wskaźnik interfejsu przed zwróceniem wskaźnika. Zawsze używaj polecenia Marshal.Release , aby zdekrementować liczbę odwołań po zakończeniu pracy ze wskaźnikiem. Aby uzyskać wartość reprezentującą IntPtr wskaźnik interfejsu IUnknown , możesz wywołać Marshal.GetComInterfaceForObjectmetodę , Marshal.GetIUnknownForObjectlub Marshal.GetIDispatchForObject.

Dotyczy

Zobacz też