// hidclass.h
// CTL_CODE(0x000b, 0x068, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
#define IOCTL_HID_GET_INPUT_REPORT 0x000B01A2
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_HID_GET_INPUT_REPORT request obtains an input report from a top-level collection.
For general information about HIDClass devices, see HID Collections.
The Parameters.DeviceIoControl.OutputBufferLength member specifies the size of a requester-allocated output buffer in bytes. The HID class driver uses this buffer to return an input report.
If the collection includes report IDs, the requester must set the first byte of the output buffer to a nonzero report ID. Otherwise, the requester must set the first byte of the output buffer to zero.
Minidriver handling
Irp->UserBuffer points to a HID_XFER_PACKET structure that the HID class driver uses to input the following members:
The size of the buffer in bytes. The buffer must be large enough to hold the input report plus one additional byte that specifies a nonzero report ID. If report ID is not used, the ID value is zero.
The Irp->MdlAddress member points to the requester-allocated output buffer that the HID class driver uses to return the input report. The first byte of the buffer, which the requester uses to input a report ID or zero, is unchanged. The input report is returned at ((PUCHAR)Irp->MdlAddress + 1).
Minidriver handling
((PHID_XFER_PACKET)(Irp->UserBuffer))->reportBuffer points to the requester-allocated output buffer that the HID minidriver uses to return the input report.
The size of the output report.
The HID class driver sets the following fields of Irp->IoStatus:
Minidriver handling
HID minidrivers that carry out the I/O to the device set the following fields of Irp->IoStatus:
HID minidrivers that call other drivers with this IOCTL to carry out the I/O to their device, should ensure that the Information field of the status block is correct and not change the contents of the Status field.
Specifies a report ID associated with a top-level collection.
Points to a requester-allocated output buffer that a HID minidriver uses to return an input report.
Specifies the size, in bytes, of the output buffer.