共用方式為


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

輸入緩衝區

參數.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)

另請參閱

HidD_SetNumInputBuffers