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 I/O 堆棧位置中的 Parameters.DeviceIoControl.InputBufferLength 表示輸入緩衝區的大小,其大小必須為 >= sizeof (ULONG) 。
Irp->AssociatedIrp.SystemBuffer 包含新的輪詢間隔。
輸入緩衝區長度
大於或等於 sizeof 的值, (ULONG) 。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
HID 類別驅動程式會將 Irp-IoStatus> 的 Status 成員設定為 STATUS_SUCCESS如果傳輸已完成,而不會發生錯誤。 否則,它會設定為適當的NTSTATUS錯誤碼。
規格需求
需求 | 值 |
---|---|
標頭 | hidclass.h (包含 Hidclass.h) |