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 à Irp->UserBuffer.
Longueur de la mémoire tampon d’entrée
Taille de OutputBufferLength
Mémoire tampon de sortie
Hid minidriver remplit la mémoire tampon résidente du système vers laquelle pointe 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 du UserBuffer.
Bloc d’état
Les minidrivers HID qui exécutent les E/S sur l’appareil définissent les champs suivants de Irp->IoStatus:
- Informations est définie sur le nombre d’octets transférés à partir de l’appareil.
- 'é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 compléter en continu les rapports d’entrée envoyés par l’appareil. Ce IOCTL est envoyé par le pilote de classe HID (HIDCLASS) à la mode ping-pong. En d’autres termes, dès qu’une demande est remplie (terminée), une autre 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 modifications apportées à l’état à mesure que ces modifications se produisent.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | hidport.h (include Hidport.h) |