IOCTL_HID_READ_REPORT IOCTL (hidport.h)

IOCTL_HID_READ_REPORT请求将输入报告从 HIDClass 设备传输到 HID 类驱动程序的缓冲区。

有关 HIDClass 设备的常规信息,请参阅 HID 集合

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

Parameters.DeviceIoControl.OutputBufferLength 包含 Irp-UserBuffer> 中提供的缓冲区的大小。

输入缓冲区长度

OutputBufferLength 的大小

输出缓冲区

HID 微型驱动程序使用从设备检索到的报告数据填充 Irp-UserBuffer> 指向的系统驻留缓冲区。

输出缓冲区长度

UserBuffer 的大小。

状态块

对设备执行 I/O 的 HID 微型驱动程序设置 Irp-IoStatus> 的以下字段:

  • 信息 设置为从设备传输的字节数。
  • 如果传输未出错,则状态设置为STATUS_SUCCESS。 否则,它会设置为相应的 NTSTATUS 错误代码。
通过此 IRP 调用其他驱动程序以对其设备执行 I/O 的 HID 微型驱动程序应确保状态块 的“信息” 字段正确且不会更改 “状态” 字段的内容。

注解

IOCTL_HID_READ_REPORT通常用于持续完成设备发送的输入报告。 此 IOCTL 由 HID 类驱动程序 (HIDCLASS) 以乒乓方式发送。 换句话说,一旦请求完成 (完成) ,就可以将另一个请求发送到设备,从而允许连续报告数据。 这是一种“异步”机制,因此,例如,设备可以使用它向主机发送有关发生这些更改时状态更改的数据。

要求

要求
Header hidport.h (包括 Hidport.h)

另请参阅

HidD_GetFeature

HidD_GetInputReport

HidD_SetFeature

HidD_SetOutputReport

IOCTL_HID_GET_FEATURE

IOCTL_HID_GET_INPUT_REPORT

IOCTL_HID_SET_FEATURE

IOCTL_HID_SET_OUTPUT_REPORT

IOCTL_HID_WRITE_REPORT