IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)

IOCTL_HID_SET_POLL_FREQUENCY_MSEC请求为 顶级集合设置轮询频率(以毫秒为单位)。

在轮询设备上执行不规则的机会性读取的用户模式应用程序或内核模式驱动程序必须提供零的轮询间隔。 在这种情况下,IOCTL_HID_SET_POLL_FREQUENCY_MSEC实际上不会更改设备的轮询频率;但是,如果报表数据在读取时不过时,则会立即使用所指示集合的最新报表数据完成读取。 如果报表数据已过时,则会立即刷新,无需等待轮询间隔过期,并且使用新数据完成读取。

如果 IRP 中提供的轮询间隔值不为零,则必须 >为 = MIN_POLL_INTERVAL_MSEC 且 <= MAX_POLL_INTERVAL_MSEC。

如果有多个顶级集合,则轮询可能会受到限制。

有关 HIDClass 设备的常规信息,请参阅 HID 集合

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.InputBufferLength 指示输入缓冲区的大小(以字节为单位),该大小必须 >= sizeof (ULONG) 。

Irp->AssociatedIrp.SystemBuffer 包含新的轮询间隔。

输入缓冲区长度

大于或等于 sizeof (ULONG) 的值。

输出缓冲区

无。

输出缓冲区长度

无。

状态块

HID 类驱动程序将 Irp-IoStatus>Status 成员设置为STATUS_SUCCESS传输是否未出错。 否则,它将设置为相应的 NTSTATUS 错误代码。

要求

要求
Header hidclass.h (包括 Hidclass.h)

另请参阅

IOCTL_HID_GET_POLL_FREQUENCY_MSEC