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 |
---|---|
|
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 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