Share via


USB_INTERFACE_DESCRIPTOR (Windows Embedded CE 6.0)

1/6/2010

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 INTERFACE.
  • 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
Windows Embedded CE Windows CE 2.10 and later

See Also

Reference

USB Host Driver Structures