Export (0) Print
Expand All
URB
Expand Minimize

USB_DESCRIPTOR_REQUEST structure

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.

Syntax


typedef struct _USB_DESCRIPTOR_REQUEST {
  ULONG  ConnectionIndex;
  struct {
    UCHAR  bmRequest;
    UCHAR  bRequest;
    USHORT wValue;
    USHORT wIndex;
    USHORT wLength;
  } SetupPacket;
  UCHAR  Data[];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;

Members

ConnectionIndex

The port whose descriptors are retrieved.

SetupPacket

The members of the SetupPacket structure are as follows:

bmRequest

The 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. For more information about this member, see Universal Serial Bus Specification.

bRequest

The 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. For more information about this member see Universal Serial Bus Specification.

wValue

On 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.

Descriptor typeMeaning

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.

 

wIndex

The device-specific index of the descriptor that is to be retrieved. For more information about this member, see Universal Serial Bus Specification.

wLength

The length of the data that is transferred during the second phase of the control transfer. For more information about this member, see Universal Serial Bus Specification.

Data

On output from the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O control request, this member contains the retrieved descriptors.

Remarks

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.

Requirements

Header

Usbioctl.h (include Usbioctl.h)

See also

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION
USB Structures

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft