IOCTL_HID_READ_REPORT IOCTL (hidport.h)
La requête IOCTL_HID_READ_REPORT transfère un rapport d’entrée d’un appareil HIDClass dans la mémoire tampon du pilote de classe HID.
Pour obtenir des informations générales sur les appareils HIDClass, consultez Collections HID.
Code principal
Mémoire tampon d'entrée
Parameters.DeviceIoControl.OutputBufferLength contient la taille de la mémoire tampon fournie dans Irp-UserBuffer>.
Longueur de la mémoire tampon d’entrée
Taille de OutputBufferLength
Mémoire tampon de sortie
Le minidriver HID remplit la mémoire tampon résidente du système pointée par Irp-UserBuffer> avec les données de rapport récupérées à partir de l’appareil.
Longueur de la mémoire tampon de sortie
Taille de UserBuffer.
Bloc d’état
Les minidrivers HID qui effectuent les E/S sur l’appareil définissent les champs suivants de Irp-IoStatus> :
- Les informations sont définies sur le nombre d’octets transférés à partir de l’appareil.
- L’état est défini sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié.
Remarques
IOCTL_HID_READ_REPORT est généralement utilisé pour remplir en continu les rapports d’entrée envoyés par l’appareil. Ce IOCTL est envoyé par le pilote de classe HID (HIDCLASS) en mode ping-pong. En d’autres termes, dès qu’une demande est satisfaite (terminée), une autre demande peut être envoyée à l’appareil, ce qui permet la création de rapports continus de données. Il s’agit d’un mécanisme « asynchrone », par exemple, l’appareil peut l’utiliser pour envoyer des données à l’hôte, en ce qui concerne les changements d’état à mesure que ces modifications se produisent.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | hidport.h (inclure Hidport.h) |