共用方式為


IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)

IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求會取得 最上層集合的輸入報表佇列大小。

輸入報表佇列會實作為環形緩衝區。 如果集合將數據傳輸至 HID 類別驅動程式的速度比讀取輸入報表更快,報表可能會遺失。 輸入報表佇列的大小可以使用 IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS來調整。

如需 HIDClass 裝置的一般資訊,請參閱 HID 集合

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

IRP I/O 堆棧位置中的 Parameters.DeviceIoControl.OutputBufferLength 表示輸出緩衝區的大小,其大小必須為 >= sizeof (ULONG) 。

輸入緩衝區長度

緩衝區的大小是ULONG () 的大小。

輸出緩衝區

Irp->AssociatedIrp.SystemBuffer 指向將接收報表輸入佇列大小的緩衝區。

輸出緩衝區長度

緩衝區的大小是ULONG () 的大小。

狀態區塊

HID 類別驅動程式會設定下列 Irp-IoStatus> 字段:

  • 如果成功擷取報表輸入佇列的大小,信息會設定為 sizeof (ULONG) 。
  • 如果 傳輸完成且未發生錯誤,狀態會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。

規格需求

需求
標頭 hidclass.h (包含 Hidclass.h)

另請參閱

HidD_SetNumInputBuffers