IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS请求获取 顶级集合的输入报表队列的大小。
输入报表队列实现为环形缓冲区。 如果集合将数据传输到 HID 类驱动程序的速度快于读取输入报告的速度,则报表可能会丢失。 可以使用 IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS 调整输入报表队列的大小。
有关 HIDClass 设备的常规信息,请参阅 HID 集合。
主要代码
输入缓冲区
IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.OutputBufferLength 指示输出缓冲区的大小(以字节为单位),该大小必须 >= sizeof (ULONG) 。
输入缓冲区长度
缓冲区 的大小为 ( ULONG) 。
输出缓冲区
Irp->AssociatedIrp.SystemBuffer 指向将接收报表输入队列大小的缓冲区。
输出缓冲区长度
缓冲区 的大小为 ( ULONG) 。
状态块
HID 类驱动程序设置 Irp-IoStatus> 的以下字段:
- 如果成功检索报表输入队列的大小,则信息设置为 size of (ULONG) 。
- 如果传输未出错,则状态设置为STATUS_SUCCESS。 否则,它会设置为相应的 NTSTATUS 错误代码。
要求
要求 | 值 |
---|---|
Header | hidclass.h (包括 Hidclass.h) |