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 大小的輸入緩衝區,以接收輸入報表佇列的新緩衝區數目。
IRP I/O 堆棧位置中的 Parameters.DeviceIoControl.InputBufferLength 包含 Irp-AssociatedIrp.SystemBuffer> 之輸入緩衝區的大小,以位元組為單位。 此大小必須是ULONG) (sizeof 。
輸入緩衝區長度
ULONG 的大小。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
如果要求成功,HID 類別驅動程式會將 Irp-IoStatus> 的 Status 欄位設定為 STATUS_SUCCESS;否則會將 [狀態] 字段設定為適當的 NTSTATUS 錯誤碼。
規格需求
需求 | 值 |
---|---|
標頭 | hidclass.h (包含 Hidclass.h) |