Marshal.QueryInterface(IntPtr, Guid, IntPtr) Méthode

Définition

Demande un pointeur vers une interface spécifiée à partir d'un objet COM.

C#
[System.Security.SecurityCritical]
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);
C#
public static int QueryInterface(IntPtr pUnk, in Guid iid, out IntPtr ppv);
C#
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);
C#
public static int QueryInterface(IntPtr pUnk, ref Guid iid, out IntPtr ppv);

Paramètres

pUnk
IntPtr

Interface à interroger.

iid
Guid

Identificateur d'interface (IID) de l'interface demandée.

ppv
IntPtr

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.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Voir aussi