Partager via


IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

La requête IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS définit le nombre de mémoires tampons pour la file d’attente du rapport d’entrée d’une collection de niveau supérieur.

Chaque file d’attente de 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 le pilote ne peut les lire, certaines données peuvent être perdues. Pour éviter ce type de perte, vous pouvez utiliser une demande de IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS pour ajuster le nombre de mémoires tampons que contient la file d’attente du rapport d’entrée. Le pilote de classe HID nécessite un minimum de deux mémoires tampons d’entrée. Sur Windows 2000, le nombre maximal de mémoires tampons d’entrée que le pilote de classe HID prend en charge est de 200, et sur Windows XP et versions ultérieures, le nombre maximal de mémoires tampons d’entrée que le pilote de classe HID prend en charge est de 512. Le nombre par défaut de mémoires tampons d’entrée est 32.

Pour plus d’informations générales sur les appareils HIDClass, consultez Collections HID.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Irp->AssociatedIrp.SystemBuffer pointe vers une mémoire tampon d’entrée de taille ULONG qui reçoit le nouveau nombre de mémoires tampons pour la file d’attente du rapport d’entrée.

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S de l’IRP contient la taille, en octets, de la mémoire tampon d’entrée sur Irp-AssociatedIrp.SystemBuffer>. Cette taille doit être sizeof(ULONG).

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

Taille d’un ULONG.

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

Si la requête réussit, le pilote de classe HID définit le champ Statusd’Irp-IoStatus> sur STATUS_SUCCESS ; sinon, il définit le champ Status sur un code d’erreur NTSTATUS approprié.

Configuration requise

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

Voir aussi

HidD_GetNumInputBuffers