Partager via


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

IRP_MJ_DEVICE_CONTROL

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é.
Les minidrivers HID qui appellent d’autres pilotes avec cet IRP pour effectuer les E/S sur leur appareil doivent s’assurer que le champ Informations du bloc d’état est correct et ne modifie pas le contenu du champ Status.

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)

Voir aussi

HidD_GetFeature

HidD_GetInputReport

HidD_SetFeature

HidD_SetOutputReport

IOCTL_HID_GET_FEATURE

IOCTL_HID_GET_INPUT_REPORT

IOCTL_HID_SET_FEATURE

IOCTL_HID_SET_OUTPUT_REPORT

IOCTL_HID_WRITE_REPORT