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 |
---|---|
|
La mémoire tampon d’entrée est trop petite pour recevoir les informations. |
|
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