IOCTL_HID_GET_DEVICE_DESCRIPTOR control code
The IOCTL_HID_GET_DEVICE_DESCRIPTOR request obtains a HIDClass device's HID descriptor.
For general information about HIDClass devices, see HID Collections.
Parameters.DeviceIoControl.OutputBufferLength contains the length of the system-resident buffer provided at Irp->UserBuffer.
The HID minidriver returns the device descriptor in the user buffer at Irp->UserBuffer.
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 IRP 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.