IOCTL_HID_SET_OUTPUT_REPORT IOCTL (hidclass.h)
IOCTL_HID_SET_OUTPUT_REPORT要求會將輸出報表傳送至最上層集合 。
如需 HIDClass 裝置的一般資訊,請參閱 HID 集合。
主要程序代碼
輸入緩衝區
Parameters.DeviceIoControl.InputBufferLength
成員會設定為包含 HID 類別輸出報表的要求者配置輸入緩衝區的大小,以位元組為單位。
以位元組為單位的輸入緩衝區大小。 緩衝區必須夠大,才能保存輸出報表,再加上一個指定非零報表標識符的額外位元組。 如果未使用報表標識碼,則標識符值為零。
Irp->AssociatedIrp.SystemBuffer
成員會指向包含輸出報表的輸入緩衝區。 如果集合包含報表標識符,要求者必須將緩衝區的第一個字節設定為非零報表標識符。 否則,要求者必須將第一個字節設定為零。 輸出報表位於 ((PUCHAR)ReportBuffer + 1)
。
Minidriver 處理
Irp->UserBuffer
指向 HID 類別驅動程式用來輸入下列成員的 HID_XFER_PACKET 結構:
輸入緩衝區長度
以位元組為單位的輸入緩衝區大小。 緩衝區必須夠大,才能保存輸出報表,再加上一個指定非零報表標識符的額外位元組。 如果未使用報表標識碼,則標識符值為零。
Minidriver 處理
HID_XFER_PACKET 結構的大小。
輸出緩衝區
沒有。
輸出緩衝區長度
沒有。
狀態區塊
HID 類別驅動程式會設定下列 Irp->IoStatus
欄位:
- 資訊 設定為零。
- 如果傳輸未發生錯誤,狀態 會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。
Minidriver 處理
對裝置執行 I/O 的 HID 迷你驅動程式會設定下列 Irp->IoStatus
字段:
- 資訊 會設定為傳輸至裝置的位元元組數目。
- 如果傳輸未發生錯誤,狀態 會設定為STATUS_SUCCESS。 否則,它會設定為適當的NTSTATUS錯誤碼。
使用此 IOCTL 呼叫其他驅動程式的 HID 迷你驅動程式,應確保狀態區塊的 [資訊] 字段正確無誤,而不會變更 [狀態] 欄位的內容 字段。
要求
要求 | 價值 |
---|---|
標頭 | hidclass.h (include Hidclass.h) |