No description available.
The USB_DESCRIPTOR_REQUEST structure is used with the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request to retrieve one or more descriptors for the device that is associated with the indicated connection index. The fields in this structure are described in the Universal Serial Bus 3.1 Specification available at USB Document Library.
ConnectionIndexThe port whose descriptors are retrieved.
SetupPacketThe members of the SetupPacket structure defined as per the official specification. See section 9.3.
SetupPacket.bmRequestThe type of USB device request (standard, class, or vendor), the direction of the data transfer, and the type of data recipient (device, interface, or endpoint). On input to the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request, the USB stack ignores the value of bmRequest and inserts a value of 0x80. This value indicates a standard USB device request and a device-to-host data transfer.
SetupPacket.bRequestThe request number. On input to the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request, the USB stack ignores the value of bRequest and inserts a value of 0x06. This value indicates a request of GET_DESCRIPTOR.
SetupPacket.wValueOn input to the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request, the caller should specify the type of descriptor to retrieve in the high byte of wValue and the descriptor index in the low byte. The following table lists the possible descriptor types. These constant types are defined in the Usbspec.h header included in the Windows Driver Kit.
| Descriptor type | Meaning |
|---|---|
| USB_DEVICE_DESCRIPTOR_TYPE | Instructs the USB stack to return the device descriptor. |
| USB_CONFIGURATION_DESCRIPTOR_TYPE | Instructs the USB stack to return the configuration descriptor and all interface, endpoint, class-specific, and vendor-specific descriptors associated with the current configuration. |
| USB_STRING_DESCRIPTOR_TYPE | Instructs the USB stack to return the indicated string descriptor. |
| USB_INTERFACE_DESCRIPTOR_TYPE | Instructs the USB stack to return the indicated interface descriptor. |
| USB_ENDPOINT_DESCRIPTOR_TYPE | Instructs the USB stack to return the indicated endpoint descriptor. |
SetupPacket.wIndexThe device-specific index of the descriptor that is to be retrieved.
SetupPacket.wLengthThe length of the data that is transferred during the second phase of the control transfer.
DataOn output from the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request, this member contains the retrieved descriptors.
If the caller specifies a value of USB_CONFIGURATION_DESCRIPTOR_TYPE in the wValue member, the output buffer must be large enough to hold all of the descriptors that are associated with the current configuration, or the request will fail.
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION