IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)
The IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS request obtains the size of the input report queue for a top-level collection.
The input report queue is implemented as a ring buffer. If a collection transmits data to the HID class driver faster than the input reports are read, reports can be lost. The size of the input report queue can be adjusted using IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS.
For general information about HIDClass devices, see HID Collections.
Major code
Input buffer
Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the output buffer, which must be >= sizeof(ULONG).
Input buffer length
The size of the buffer is sizeof(ULONG).
Output buffer
Irp->AssociatedIrp.SystemBuffer points to a buffer that will receive the size of the report input queue.
Output buffer length
The size of the buffer is sizeof(ULONG).
Status block
The HID class driver sets the following fields of Irp->IoStatus:
- Information is set to sizeof(ULONG) if the size of the report input queue is successfully retrieved.
- Status is set to STATUS_SUCCESS if the transfer completed without error. Otherwise, it is set to an appropriate NTSTATUS error code.
Requirements
Requirement | Value |
---|---|
Header | hidclass.h (include Hidclass.h) |