Partager via


IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

La demande IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtient la taille de la file d’attente du rapport d’entrée pour une collection de niveau supérieur.

La file d’attente du rapport d’entrée est implémentée en tant que mémoire tampon en anneau. Si une collection transmet des données au pilote de classe HID plus rapidement que les rapports d’entrée sont lus, des rapports peuvent être perdus. La taille de la file d’attente du rapport d’entrée peut être ajustée à l’aide de IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS.

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 dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon de sortie, qui doit être >= sizeof(ULONG).

Longueur de la mémoire tampon d’entrée

La taille de la mémoire tampon est sizeof(ULONG).

Mémoire tampon de sortie

Irp->AssociatedIrp.SystemBuffer pointe vers une mémoire tampon qui recevra la taille de la file d’attente d’entrée de rapport.

Longueur de la mémoire tampon de sortie

La taille de la mémoire tampon est sizeof(ULONG).

Bloc d’état

Le pilote de classe HID définit les champs suivants de Irp-IoStatus> :

  • Les informations sont définies sur sizeof (ULONG) si la taille de la file d’attente d’entrée de rapport est récupérée avec succès.
  • 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é.

Configuration requise

Condition requise Valeur
En-tête hidclass.h (inclure Hidclass.h)

Voir aussi

HidD_SetNumInputBuffers