The IOCTL_HID_GET_REPORT_DESCRIPTOR request obtains the report descriptor for a HIDClass device.

For general information about HIDClass devices, see HID Collections.

Major Code


Input Buffer

Parameters.DeviceIoControl.OutputBufferLength specifies the length, in bytes, of the locked-down buffer at Irp->UserBuffer.

Input Buffer Length

The size of OutputBufferLength.

Output Buffer

The HID minidriver fills the buffer at Irp->UserBuffer with the report descriptor.

Output Buffer Length

The size of the report descriptor.

Status Block

HID minidrivers that carry out the I/O to the device set the following fields of Irp->IoStatus:

  • Information is set to the number of bytes transferred from the device.
  • Status is set to STATUS_SUCCESS if the transfer completed without error. Otherwise, it is set to an appropriate NTSTATUS error code.
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.


Header hidport.h (include Hidport.h)

See Also