USB 接口关联描述符
2021-12-12
7892
0
对于复合USB设备的接口描述符,可以在每个类(Class)要合并的接口描述符之前加一个接口关联描述符(Interface Association Descriptor,IAD),其作用就是把多个接口定义成一个类设备,即多个接口作用于一个设备。
接口关联描述符的定义如下:
typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR {
UCHAR bLength; //长度为8
UCHAR bDescriptorType; //USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE,值为0x0b
UCHAR bFirstInterface; //第一个接口编号
UCHAR bInterfaceCount; //接口总数量
UCHAR bFunctionClass; //视频接口类代码CC_VIDEO,值0x0E
UCHAR bFunctionSubClass; //视频子类接口代码 SC_VIDEO_INTERFACE_COLLECTION,值为0x03
UCHAR bFunctionProtocol; //未用,必须为PC_PROTOCOL_UNDEFINED,值为0x00
UCHAR iFunction; //字符串描述符索引
} USB_INTERFACE_ASSOCIATION_DESCRIPTOR, *PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR;
偏移量 | 字段 | 长度 | 描符 |
---|---|---|---|
0 | bLength | 1 | 接口关联描述符的长度 |
1 | bDescriptorType | 1 | 描述符类型为接口关联描述符 |
2 | bFirstInterface | 1 | 该接口关联描述符所关联的第一个接口号 |
3 | bInterfaceCount | 1 | 该接口关联描述符所拥有的连续接口数 |
4 | bFunctionClass | 1 | 接口关联描述符的功能所实现的USB类 |
5 | bFunctionSubClass | 1 | 接口关联描述符所实现的USB子类 |
6 | bFunctionProtocol | 1 | 接口关联描述符所实现的USB协议 |
7 | iFunction | 1 | 功能的字符串索引 |
接口关联描述符与其它描述符的关系图
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936