IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

Die IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS Anforderung ruft die Größe der Eingabeberichtswarteschlange für eine Sammlung der obersten Ebene ab.

Die Eingabeberichtswarteschlange wird als Ringpuffer implementiert. Wenn eine Sammlung Daten schneller an den HID-Klassentreiber überträgt, als die Eingabeberichte gelesen werden, können Berichte verloren gehen. Die Größe der Eingabeberichtswarteschlange kann mithilfe von IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS angepasst werden.

Allgemeine Informationen zu HIDClass-Geräten finden Sie unter HID-Sammlungen.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Parameters.DeviceIoControl.OutputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des Ausgabepuffers in Bytes an, die = sizeof(ULONG) sein >muss.

Eingabepufferlänge

Die Größe des Puffers ist sizeof(ULONG).

Ausgabepuffer

Irp->AssociatedIrp.SystemBuffer verweist auf einen Puffer, der die Größe der Berichtseingabewarteschlange empfängt.

Länge des Ausgabepuffers

Die Größe des Puffers ist sizeof(ULONG).

Statusblock

Der HID-Klassentreiber legt die folgenden Felder von Irp-IoStatus> fest:

  • Informationen werden auf sizeof(ULONG) festgelegt, wenn die Größe der Berichtseingabewarteschlange erfolgreich abgerufen wird.
  • Der Status wird auf STATUS_SUCCESS festgelegt, wenn die Übertragung ohne Fehler abgeschlossen wurde. Andernfalls wird ein entsprechender NTSTATUS-Fehlercode festgelegt.

Anforderungen

Anforderung Wert
Header hidclass.h (include Hidclass.h)

Weitere Informationen

HidD_SetNumInputBuffers