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);
[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
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 indiquant 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
de sur 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 que le pointeur ne soit retourné.
Marshal.Release Utilisez toujours pour décrémenter le nombre de références une fois que vous avez terminé avec le pointeur. Pour obtenir une IntPtr valeur qui représente un pointeur d’interface IUnknown , vous pouvez appeler Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectou Marshal.GetIDispatchForObject.