Marshal.QueryInterface(IntPtr, Guid, IntPtr) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Demande un pointeur vers une interface spécifiée à partir d’un objet 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
Paramètres
- pUnk
-
IntPtr
nativeint
Interface à interroger.
- iid
- Guid
Identificateur d’interface (IID) de l’interface demandée.
- ppv
-
IntPtr
nativeint
Lorsque cette méthode est retournée, contient une référence à l’interface retournée.
Retours
HRESULT qui indique la réussite ou l’échec de l’appel.
- Attributs
Remarques
La QueryInterface méthode expose la méthode IUnknown ::QueryInterface d’un objet COM, qui tente d’obtenir un pointeur d’interface spécifique. L’utilisation QueryInterface d’un objet COM est identique à l’exécution d’une opération de cast dans du code managé. L’appel d’un objet avec cette méthode entraîne l’incrémentation du nombre de références sur le pointeur d’interface avant le retour du pointeur. Utilisez Marshal.Release toujours pour décrémenter le nombre de références une fois le pointeur terminé. Pour obtenir une valeur qui représente un pointeur d’interface IntPtrIUnknown , vous pouvez appeler Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectou Marshal.GetIDispatchForObject.