1# UsbInterfaceDescriptor
2
3
4## Overview
5
6Defines standard interface descriptors, which correspond to **Standard Interface Descriptor** in the USB protocol.
7
8**Since**
9
1010
11
12**Related Modules**
13
14[USB DDK](_usb_ddk.md)
15
16
17## Summary
18
19
20### Member Variables
21
22| Name| Description|
23| -------- | -------- |
24| [bLength](#blength) | Size of the descriptor, in bytes.|
25| [bDescriptorType](#bdescriptortype) | Descriptor type.|
26| [bInterfaceNumber](#binterfacenumber) | Interface ID.|
27| [bAlternateSetting](#balternatesetting) | Value used to select the alternate setting of the interface.|
28| [bNumEndpoints](#bnumendpoints) | Number of endpoints (excluding endpoint 0) used by the interface.|
29| [bInterfaceClass](#binterfaceclass) | Interface class code allocated by the USB-IF.|
30| [bInterfaceSubClass](#binterfacesubclass) | Device subclass code allocated by USB-IF. The value is limited by that of [bInterfaceClass](#binterfaceclass).|
31| [bInterfaceProtocol](#binterfaceprotocol) | Protocol code allocated by USB-IF. The value is limited by that of [bInterfaceClass](#binterfaceclass) and [bInterfaceSubClass](#binterfacesubclass).|
32| [iInterface](#iinterface) | Index of the string descriptor that describes the interface.|
33
34
35## Member Variable Description
36
37
38### bAlternateSetting
39
40
41```
42uint8_t UsbInterfaceDescriptor::bAlternateSetting
43```
44
45**Description**
46
47Value used to select the alternate setting of the interface.
48
49
50### bDescriptorType
51
52
53```
54uint8_t UsbInterfaceDescriptor::bDescriptorType
55```
56
57**Description**
58
59Descriptor type.
60
61
62### bInterfaceClass
63
64
65```
66uint8_t UsbInterfaceDescriptor::bInterfaceClass
67```
68
69**Description**
70
71Interface class code allocated by the USB-IF.
72
73
74### bInterfaceNumber
75
76
77```
78uint8_t UsbInterfaceDescriptor::bInterfaceNumber
79```
80
81**Description**
82
83Interface ID.
84
85
86### bInterfaceProtocol
87
88
89```
90uint8_t UsbInterfaceDescriptor::bInterfaceProtocol
91```
92
93**Description**
94
95Protocol code allocated by USB-IF. The value is limited by that of [bInterfaceClass](#binterfaceclass) and [bInterfaceSubClass](#binterfacesubclass).
96
97
98### bInterfaceSubClass
99
100
101```
102uint8_t UsbInterfaceDescriptor::bInterfaceSubClass
103```
104
105**Description**
106
107Device subclass code allocated by USB-IF. The value is limited by that of [bInterfaceClass](#binterfaceclass).
108
109
110### bLength
111
112
113```
114uint8_t UsbInterfaceDescriptor::bLength
115```
116
117**Description**
118
119Size of the descriptor, in bytes.
120
121
122### bNumEndpoints
123
124
125```
126uint8_t UsbInterfaceDescriptor::bNumEndpoints
127```
128
129**Description**
130
131Number of endpoints (excluding endpoint 0) used by the interface.
132
133
134### iInterface
135
136
137```
138uint8_t UsbInterfaceDescriptor::iInterface
139```
140
141**Description**
142
143Index of the string descriptor that describes the interface.
144