IOCTL_HID_SET_OUTPUT_REPORT IOCTL (hidclass.h)
IOCTL_HID_SET_OUTPUT_REPORT请求将输出报告发送到 顶级集合。
有关 HIDClass 设备的常规信息,请参阅 HID 集合。
主要代码
输入缓冲区
成员 Parameters.DeviceIoControl.InputBufferLength
设置为包含 HID 类输出报表的请求者分配的输入缓冲区的大小(以字节为单位)。
输入缓冲区的大小(以字节为单位)。 缓冲区必须足够大,才能保存输出报表以及一个指定非零报表 ID 的附加字节。 如果未使用报表 ID,则 ID 值为零。
成员 Irp->AssociatedIrp.SystemBuffer
指向包含输出报告的输入缓冲区。 如果集合包含报表 ID,则请求者必须将缓冲区的第一个字节设置为非零报表 ID。 否则,请求者必须将第一个字节设置为零。 输出报表位于 ((PUCHAR)ReportBuffer + 1)
。
微型驱动程序处理
Irp->UserBuffer
指向 HID 类驱动程序用于输入以下成员 的HID_XFER_PACKET 结构:
输入缓冲区长度
输入缓冲区的大小(以字节为单位)。 缓冲区必须足够大,才能保存输出报表以及一个指定非零报表 ID 的附加字节。 如果未使用报表 ID,则 ID 值为零。
微型驱动程序处理
HID_XFER_PACKET结构的大小。
输出缓冲区
无。
输出缓冲区长度
无。
状态块
HID 类驱动程序设置 的以下字段 Irp->IoStatus
:
- 信息 设置为零。
- 如果传输未出错,则状态设置为STATUS_SUCCESS。 否则,它会设置为相应的 NTSTATUS 错误代码。
微型驱动程序处理
对设备执行 I/O 的 HID 微型驱动程序设置 以下字段 Irp->IoStatus
:
- 信息 设置为传输到设备的字节数。
- 如果传输未出错,则状态设置为STATUS_SUCCESS。 否则,它会设置为相应的 NTSTATUS 错误代码。
使用此 IOCTL 调用其他驱动程序以执行 I/O 的 HID 微型驱动程序应确保状态块 的“信息” 字段正确,并且不会更改 “状态” 字段的内容。
要求
要求 | 值 |
---|---|
Header | hidclass.h (包括 Hidclass.h) |