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 集合。
主要程序代碼
輸入緩衝區
Parameters.DeviceIoControl.InputBufferLength 在 IRP 的 I/O 堆棧位置中,會指出輸入緩衝區的大小,其必須 >= sizeof(ULONG)。
Irp->AssociatedIrp.SystemBuffer 包含新的輪詢間隔。
輸入緩衝區長度
大於或等於 sizeof(ULONG) 的值。
輸出緩衝區
沒有。
輸出緩衝區長度
沒有。
狀態區塊
HID 類別驅動程式會將 Irp->IoStatus 的 Status 成員設定為STATUS_SUCCESS,如果傳輸沒有錯誤。 否則,它會設定為適當的NTSTATUS錯誤碼。
要求
要求 | 價值 |
---|---|
標頭 | hidclass.h (include Hidclass.h) |