共用方式為


IOCTL_HID_GET_INPUT_REPORT IOCTL (hidclass.h)

IOCTL_HID_GET_INPUT_REPORT要求會從最上層集合 取得輸入報告。

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

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Parameters.DeviceIoControl.OutputBufferLength 成員會以位元組為單位指定要求者配置的輸出緩衝區大小。 HID 類別驅動程式會使用此緩衝區傳回輸入報告。

如果集合包含報表標識符,要求者必須將輸出緩衝區的第一個字節設定為非零報表標識符。 否則,要求者必須將輸出緩衝區的第一個字節設定為零。

Minidriver 處理

Irp->UserBuffer 指向 HID 類別驅動程式用來輸入下列成員的 HID_XFER_PACKET 結構:

輸入緩衝區長度

以位元組為單位的緩衝區大小。 緩衝區必須夠大,才能保存輸入報表加上一個指定非零報表標識符的額外位元組。 如果未使用報表標識碼,則標識符值為零。

輸出緩衝區

Irp->MdlAddress 成員會指向 HID 類別驅動程式用來傳回輸入報表的要求者配置的輸出緩衝區。 要求者用來輸入報表標識碼或零之緩衝區的第一個字節不會變更。 輸入報告會在 ((PUCHAR)Irp->MdlAddress + 1)傳回。

Minidriver 處理

((PHID_XFER_PACKET)(Irp->UserBuffer))->reportBuffer 指向 HID 迷你驅動程式用來傳回輸入報表的要求者配置的輸出緩衝區。

輸出緩衝區長度

輸出報表的大小。

狀態區塊

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

  • 資訊 設定為零。
  • 如果傳輸未發生錯誤,狀態 會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。

Minidriver 處理

對裝置執行 I/O 的 HID 迷你驅動程式會設定下列 Irp->IoStatus字段:

  • 資訊 會設定為從裝置傳輸的位元元組數目。
  • 如果傳輸未發生錯誤,狀態 會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。

使用此 IOCTL 呼叫其他驅動程式以對其裝置執行 I/O 的 HID 迷你驅動程式,應確保狀態區塊的 [資訊] 欄位正確無誤,且不會變更 [狀態] 字段的內容。

要求

要求 價值
標頭 hidclass.h (include Hidclass.h)

另請參閱