WdfDeviceQueryInterfaceProperty, fonction (wdfdevice.h)

[S’applique à UMDF uniquement]

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 pour un objet d’appareil d’infrastructure.

[in] PropertyData

Pointeur vers une structure WDF_DEVICE_INTERFACE_PROPERTY_DATA qui identifie la propriété d’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 à 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, au retour, contient la taille, en octets, des informations stockées par WdfDeviceQueryInterfaceProperty 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 de type DEVPROPTYPE qui identifie le type de données de propriété stockées par WdfDeviceQueryInterfaceProperty dans la mémoire tampon vers laquelle PropertyBuffer pointe.

Valeur retournée

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

Code de retour 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 le moment où le pilote appelle À nouveau WdfDeviceQueryInterfaceProperty . Par conséquent, les pilotes doivent appeler WdfDeviceQueryInterfaceProperty à l’intérieur d’une boucle qui s’exécute jusqu’à ce que la status 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 immuable, car dans ce cas, le pilote ne doit appeler WdfDeviceQueryInterfaceProperty qu’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é.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1
Plateforme cible Universal
Version UMDF minimale 2.0
En-tête wdfdevice.h (inclure 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