http://bluefish.blog.51cto.com/214870/1239111
Composite USBdevices 组合设备
Compound USBdevices 复合设备
Composite USB devicesexpose multiple functions to a host by using multiple interfaces.
A compound device is an external hub that is combined withother devices.Compound devices appear to the host as a hub with one or more non-removabledevices that are connected to the hub’s ports.
对于compound device,它内置的hub和其它设备都会有各自的device address,而compoiste device只有一个device address。实际上,从host的角度来看,compound device与一个hub上挂多个设备是等效的.
Followinginformation from MS msdn
bDeviceClass
设备类码:
如果此域的值为0则一个设置下每个接口指出它自己的类,各个接口各自独立工作。
如果此域的值处于1~FEH之间,则设备在不同的接口上支持不同的类。并这些接口可能不能独立工作。此值指出了这些接口集体的类定义。
如果此域设为FFH,则此设备的类由厂商定义。
枚举 USB 组合设备
-
设备描述符的设备类字段 (bDeviceClass) 必须包含一个零值,或者设备描述符的类 (bDeviceClass)、子类 (bDeviceSubClass) 和协议 (bDeviceProtocol) 字段必须分别具有值 0xEF、0x02 和 0x01,如USB 接口关联描述符中所述。
-
设备必须具有多个接口。
-
设备必须具有一个配置。