// hidclass.h
// CTL_CODE(0x000b, 0x066, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
#define IOCTL_GET_PHYSICAL_DESCRIPTOR 0x000B019A
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_GET_PHYSICAL_DESCRIPTOR request obtains the physical descriptor of a top-level collection. For a minidriver, this descriptor is the descriptor of the HIDClass device.
For general information about HIDClass devices, see HID Collections.
Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the output buffer.
Irp->MdlAddress must point to the buffer that will receive the physical descriptor.
The HID minidriver copies the physical descriptor into the user buffer at Irp->UserBuffer.
The HID class driver sets the Status member of Irp->IoStatus to STATUS_SUCCESS if the transfer completed without error. Otherwise, it is set to an appropriate NTSTATUS error code.
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 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.