// usbspec.h
typedef struct _USB_INTERFACE_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bInterfaceNumber;
UCHAR bAlternateSetting;
UCHAR bNumEndpoints;
UCHAR bInterfaceClass;
UCHAR bInterfaceSubClass;
UCHAR bInterfaceProtocol;
UCHAR iInterface;
} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
The USB_INTERFACE_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined interface descriptor. The members of this structure are described in the Universal Serial Bus 3.1 Specification available at USB Document Library. See section 9.6.5.
bLengthThe length, in bytes, of the descriptor.
bDescriptorTypeThe descriptor type. bDescriptor must be set to USB_INTERFACE_DESCRIPTOR_TYPE.
bInterfaceNumberThe index number of the interface.
bAlternateSettingThe index number of the alternate setting of the interface.
bNumEndpointsThe number of endpoints that are used by the interface, excluding the default status endpoint.
bInterfaceClassThe class code of the device that the USB specification group assigned.
bInterfaceSubClassThe subclass code of the device that the USB specification group assigned.
bInterfaceProtocolThe protocol code of the device that the USB specification group assigned.
iInterfaceThe index of a string descriptor that describes the interface. For information about this field, see section 9.6.5 in the "Universal Serial Bus Revision 2.0" specification at USB Technology.
_URB_CONTROL_DESCRIPTOR_REQUEST