IOCTL_HID_SET_OUTPUT_REPORT IOCTL (hidclass.h)

IOCTL_HID_SET_OUTPUT_REPORT要求會將輸出報表傳送至 最上層集合

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

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

成員 Parameters.DeviceIoControl.InputBufferLength 會設定為要求者配置之輸入緩衝區的大小,以位元組為單位,其中包含 HID 類別輸出報表。

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

成員 Irp->AssociatedIrp.SystemBuffer 會指向包含輸出報表的輸入緩衝區。 如果集合包含報表標識符,要求者必須將緩衝區的第一個字節設定為非零報表標識符。 否則,要求者必須將第一個字節設定為零。 輸出報表位於 ((PUCHAR)ReportBuffer + 1)

迷你驅動程序處理

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

輸入緩衝區長度

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

迷你驅動程序處理

HID_XFER_PACKET 結構的大小。

輸出緩衝區

無。

輸出緩衝區長度

無。

狀態區塊

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

  • 資訊 設定為零。
  • 如果 傳輸完成且沒有錯誤,狀態會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。

迷你驅動程序處理

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

  • 信息 會設定為傳送至裝置的位元元組數目。
  • 如果 傳輸完成且沒有錯誤,狀態會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。

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

規格需求

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

另請參閱