C语言获取USB设备协议版本,USB设备类及设备子类及接口采用的设备类协议

USB Class Codes November 17, 2009

USB defines class code

information that is used to identify a device’s functionality and to

nominally load a device driver based on that functionality. The information is contained in three bytes with the names Base Class, SubClass, and Protocol. (Note that ‘Base Class’ is used in this description to identify the first byte of the Class Code triple. That terminology is not used in the USB Specification).There are two places on a device where class code information can be placed.One place is in the Device Descriptor, and the other is in Interface Descriptors. Some defined class codes are allowed to be used only in a Device Descriptor, others can be used in both Device and Interface Descriptors, and some can only be used in Interface Descriptors.The table below shows the currently defined set ofBase

Class values, what the generic usage is, and where that Base Class can

be used (either Device or Interface Descriptors or both).

(Device)

This

base class is defined to be used in Device Descriptors to indicate that

class information should be determined from the Interface Descriptors

in the device. There is one class code definition in this base class.All other values are reserved.

This value is also used in Interface Descriptors to indicate a null class code triple.

Base Class SubClass Protocol Meaning

00h 00h 00h Use class code info from Interface Descriptors

This

base class is defined for Audio capable devices that conform to the

Audio Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes may only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

01h xxh xxh Audio device

This

base class is defined for devices that conform to the Communications

Device Class Specification found on the USB-IF website.That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved.Note that the Communication Device Class spec requires some class code values (triples) to be used in Device Descriptors and some to be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

02h xxh xxh Communication device class

This base class is defined for devices that conform to the HID Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.  Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

03h xxh xxh HID device class

This base class is defined for devices that conform to the Physical Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

05h xxh xxh Physical device class

This base class is defined for devices that conform to the Imaging Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.  Values outside of that defined spec are reserved.

Base Class SubClass Protocol Meaning

06h 01h 01h Still Imaging device

This base class is defined for devices that conform to the Printer Device Class Specification found on the USB-IF website.That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved.These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

07h xxh xxh Printer device

This base class is defined for devices that conform to the Mass Storage Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved.These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

08h xxh xxh Mass Storage device

This base class is defined for devices that are USB hubs and conform to the definition in the USB specification.That specification defines the complete triples as shown below.All other values are reserved.These class codes can only be used in Device Descriptors.

Base Class SubClass Protocol Meaning

09h 00h 00h Full speed Hub

01h Hi-speed hub with single TT

02h Hi-speed hub with multiple TTs

This

base class is defined for devices that conform to the Communications

Device Class Specification found on the USB-IF website.That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

0Ah xxh xxh CDC data device

This base class is defined for devices that conform to the Smart Card Device Class Specification found on the USB-IF website.That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

0Bh xxh xxh Smart Card device

This

base class is defined for devices that conform to the Content Security

Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved.These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

0Dh 00h 00h Content Security device

This base class is defined for devices that conform to the Video Device Class Specification found on the USB-IF website.That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved.These class codes can only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

0Eh xxh xxh Video device

This

base class is defined for devices that conform to the Personal

Healthcare Device Class Specification found on the USB-IF website.That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved.These class codes should only be used in Interface Descriptors.

Base Class SubClass Protocol Meaning

0Fh xxh xxh Personal Healthcare device

This base class is defined for devices that diagnostic devices. There is currently only one value defined. All other values are reserved.This class code can be used in Device or Interface Descriptors.

Base Class SubClass Protocol Meaning

DCh 01h 01h USB2 Compliance Device.Definition for this device can be found at

USB Class Codes

November 17, 2009

USB defines class code

information that is used to identify a device’s functionality and to

nominally load a device driver based on that functionality. The

information is contained in three bytes with the names Base Class,

SubClass, and Protocol. (Note that ‘Base Class’ is used in this

description to identify the first byte of the Class Code triple. That terminology is not used in the USB Specification). There are two places on a device where class code information can be placed.One

place is in the Device Descriptor, and the other is in Interface

Descriptors. Some defined class codes are allowed to be used only in a Device Descriptor, others can be used in both Device and Interface Descriptors, and some can only

be used in Interface Descriptors. The table below shows the currently

defined set of  Base Class values, what the generic usage is, and where

that Base Class can be used (either Device or Interface Descriptors or

both).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值