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

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)

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