Partager via


WdfDeviceQueryInterfaceProperty, fonction (wdfdevice.h)

[S’applique uniquement à UMDF]

La méthode WdfDeviceQueryInterfaceProperty récupère une propriété d’interface d’appareil spécifiée.

Syntaxe

NTSTATUS WdfDeviceQueryInterfaceProperty(
  [in]  WDFDEVICE                           Device,
  [in]  PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]  ULONG                               BufferLength,
  [out] PVOID                               PropertyBuffer,
  [out] PULONG                              ResultLength,
  [out] PDEVPROPTYPE                        Type
);

Paramètres

[in] Device

Handle vers un objet d’appareil framework.

[in] PropertyData

Pointeur vers une structure WDF_DEVICE_INTERFACE_PROPERTY_DATA qui identifie la propriété de l’interface d’appareil à récupérer.

[in] BufferLength

Taille, en octets, de la mémoire tampon pointée par PropertyBuffer.

[out] PropertyBuffer

Pointeur vers une mémoire tampon allouée par l’appelant qui reçoit la propriété d’interface d’appareil demandée. Le pointeur peut être NULL si le paramètre BufferLength est égal à zéro.

[out] ResultLength

Emplacement fourni par l’appelant qui, lors du retour, contient la taille, en octets, des informations qui WdfDeviceQueryInterfaceProperty stockées dans PropertyBuffer. Si la valeur de retour de la fonction est STATUS_BUFFER_TOO_SMALL, cet emplacement reçoit la taille de mémoire tampon requise.

[out] Type

Pointeur vers une variable DEVPROPTYPE-typée qui identifie le type de données de propriété qui WdfDeviceQueryInterfaceProperty stockées dans la mémoire tampon vers laquelle PropertyBuffer pointe.

Valeur de retour

Si la méthode WdfDeviceQueryInterfaceProperty ne rencontre aucune erreur, elle retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Retourner le code Description
STATUS_BUFFER_TOO_SMALL
La mémoire tampon d’entrée est trop petite pour recevoir les informations.
STATUS_INVALID_PARAMETER_2
La valeur de paramètre spécifiée n’est pas valide.
 

La méthode peut retourner d’autres valeurs NTSTATUS .

Remarques

Avant de recevoir des données de propriété d’appareil, les pilotes appellent généralement la méthode WdfDeviceQueryInterfaceProperty simplement pour obtenir la taille de mémoire tampon requise. Pour certaines propriétés, la taille des données peut changer entre le moment où la taille requise est retournée et lorsque le pilote appelle WdfDeviceQueryInterfaceProperty à nouveau. Par conséquent, les pilotes doivent appeler WdfDeviceQueryInterfaceProperty à l’intérieur d’une boucle qui s’exécute jusqu’à ce que l’état de retour ne soit pas STATUS_BUFFER_TOO_SMALL.

Il est préférable d’utiliser WdfDeviceQueryInterfaceProperty uniquement si la taille de mémoire tampon requise est connue et inchangée, car dans ce cas, le pilote doit appeler WdfDeviceQueryInterfaceProperty une seule fois. Si la taille de mémoire tampon requise est inconnue ou varie, le pilote doit appeler WdfDeviceAllocAndQueryInterfaceProperty.

Pour plus d’informations sur les méthodes associées, consultez Accès au modèle de propriété d’appareil unifié.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8.1
plateforme cible Universel
version minimale de UMDF 2.0
d’en-tête wdfdevice.h (include Wdf.h)
bibliothèque WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Voir aussi

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty