IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求會設定 最上層集合之輸入報表佇列的緩衝區數目。
每個輸入報告佇列都會實作為通道緩衝區。 如果集合將數據傳輸至 HID 類別驅動程式的速度比驅動程式快,則某些資料可能會遺失。 若要防止這類遺失,您可以使用IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求來調整輸入報表佇列所包含的緩衝區數目。 HID 類別驅動程式至少需要兩個輸入緩衝區。 在 Windows 2000 上,HID 類別驅動程式支援的輸入緩衝區數目上限為 200,在 Windows XP 和更新版本上,HID 類別驅動程式支援的輸入緩衝區數目上限為 512。 輸入緩衝區的預設數目為 32。
如需 HIDClass 裝置的一般資訊,請參閱 HID 集合。
主要程序代碼
輸入緩衝區
Irp->AssociatedIrp.SystemBuffer 指向 ULONG 大小的輸入緩衝區,該緩衝區會接收輸入報表佇列的新緩衝區數目。
參數.DeviceIoControl.InputBufferLength 在 IRP 的 I/O 堆棧位置包含 Irp->AssociatedIrp.SystemBuffer之輸入緩衝區的大小,以位元組為單位。 此大小必須 sizeof(ULONG)。
輸入緩衝區長度
ULONG 的大小。
輸出緩衝區
沒有。
輸出緩衝區長度
沒有。
狀態區塊
如果要求成功,HID 類別驅動程式會將 Irp->IoStatus 的 [狀態] 字段設定為 STATUS_SUCCESS;否則,它會將 [狀態] 字段設定為適當的NTSTATUS錯誤碼。
要求
要求 | 價值 |
---|---|
標頭 | hidclass.h (include Hidclass.h) |