USB_INTERFACE_DESCRIPTOR (Compact 2013)
3/26/2014
This structure describes a specific interface with respect to a specific configuration. Therefore, the same physical interface on a universal serial bus (USB) device has one USB_INTERFACE_DESCRIPTOR structure for each of the USB device's possible configurations.
Syntax
typedef struct {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bInterfaceNumber;
UCHAR bAlternateSetting;
UCHAR bNumEndpoints;
UCHAR bInterfaceClass;
UCHAR bInterfaceSubClass;
UCHAR bInterfaceProtocol;
UCHAR iInterface;
} USB_INTERFACE_DESCRIPTOR;
Members
- bLength
Length, in bytes, of this structure.
- bDescriptorType
Constant value USB_INTERFACE_DESCRIPTOR_TYPE.
- bInterfaceNumber
Interface's number. This value is a zero-based index into an array of interfaces supported by the relevant configuration.
- bAlternateSetting
Value used to select an alternate setting for the interface identified in bInterfaceNumber.
- bNumEndpoints
Number of endpoints used by this interface, excluding endpoint zero (0). If this value is zero (0), the interface only uses the default control pipe.
- bInterfaceClass
Interface class code. The USB working group defines class codes. The value 0xFF represents a vendor-specific class code.
- bInterfaceSubClass
Interface subclass code. The USB working group defines subclass codes. The meaning of this member depends on the value of bInterfaceClass.
- bInterfaceProtocol
Interface protocol code. The USB working group defines protocol codes. The value 0xFF indicates a vendor-specific protocol code.
- iInterface
Index of a string descriptor describing this interface.
Remarks
USB_INTERFACE_DESCRIPTOR structures are accessed by the USB software or device drivers in response to requests for configuration information.
Requirements
Header |
usbtypes.h |