IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求會取得 最上層集合的輸入報告佇列大小。
輸入報告佇列會實作為通道緩衝區。 如果集合將數據傳輸至 HID 類別驅動程式的速度比讀取輸入報告快,報表可能會遺失。 您可以使用 IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS來調整輸入報表佇列的大小。
如需 HIDClass 裝置的一般資訊,請參閱 HID 集合。
主要程序代碼
輸入緩衝區
參數.DeviceIoControl.OutputBufferLength 在 IRP 的 I/O 堆棧位置,表示輸出緩衝區的大小,以位元組為單位,輸出緩衝區的大小必須 >= sizeof(ULONG)。
輸入緩衝區長度
緩衝區的大小為 sizeof(ULONG)。
輸出緩衝區
Irp->AssociatedIrp.SystemBuffer 指向將接收報表輸入佇列大小的緩衝區。
輸出緩衝區長度
緩衝區的大小為 sizeof(ULONG)。
狀態區塊
HID 類別驅動程式會設定下列字段 Irp->IoStatus:
- 如果成功擷取報表輸入佇列的大小,資訊 會設定為 sizeof(ULONG)。
- 如果傳輸未發生錯誤,狀態 會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。
要求
| 要求 | 價值 |
|---|---|
| 標頭 | hidclass.h (include Hidclass.h) |