Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

IOCTL_HID_GET_INPUT_REPORT control code

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.

Input Buffer

The Parameters.DeviceIoControl.OutputBufferLength member specifies the size, in bytes, of a requester-allocated output buffer. 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.

Input Buffer Length

The buffer size, in bytes, must be large enough to hold the input report -- excluding its report ID, if report IDs are used -- plus one additional byte that specifies a nonzero report ID or zero.

Output Buffer

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 -- excluding its report ID, if report IDs are used -- is returned at ((PUCHAR)Irp->MdlAddress + 1).

Output Buffer Length

Status block

The HID class driver sets the following fields of Irp->IoStatus:

  • Information is set to zero.

  • Status is set to STATUS_SUCCESS if the transfer completed without error. Otherwise, it is set to an appropriate NTSTATUS error code.

Requirements

Header

Hidclass.h (include Hidclass.h)

See also

HidD_GetFeature
HidD_GetInputReport
HidD_SetFeature
HidD_SetOutputReport
IOCTL_HID_GET_FEATURE
IOCTL_HID_SET_FEATURE
IOCTL_HID_SET_OUTPUT_REPORT

 

 

Send comments about this topic to Microsoft

Show: