USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。每个供应商的VID是唯一的,PID由供应商自行决定。主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。VID和PID的长度都是两个字节的。 常见的各大供应商的VID和PID,可以在这里查询到:http://www.linux-usb.org/usb.ids

USB定义了种类代码信息,它被用来识别设备的功能,根据这些功能,以加载设备驱动。这种信息包含在名为基类,子类和协议的3个字节里(注意:“基类”在本文中,用来标识三个字节的种类代码的的首字节;在USB规范中没有使用这个术语)。设备中有两个地方可以存放种类代码信息,一个是设备描述符,另一个是接口描述符

Base Class

Descriptor Usage

Description

00h

Device

Use class information in the Interface Descriptors 种类信息定义在接口描述符中

01h

Interface

Audio 音频设备

02h

Both

Communications & CDC 通信设备(手机,Class_02&SubClass_02&Prot_01

03h

Interface

HID (Human Interface Device) 人机接口设备

05h

Interface

Physical 物理设备

06h

Interface

Image 图像设备(可能是IPhone手机,Class_06&SubClass_01&Prot_01)

07h

Interface

Printer 打印机

08h

Interface

Mass Storage 大容量存储(可能是手机,Class_08&SubClass_06&Prot_50)

09h

Device

Hub 集线器

0Ah

Interface

CDC-Data 通信设备(手机,Class_0A&SubClass_00&Prot_00

0Bh

Interface

Smart Card 智能卡

0Dh

Interface

Content Security 内容安全设备

0Eh

Interface

Video 视频设备(摄像头,Class_0e&SubClass_03&Prot_00)

0Fh

Interface

Personal Healthcare 个人健康设备

10h

Interface

Audio/Video Devices 音频/视频设备

DCh

Both

Diagnostic Device 诊断设备(USB2兼容设备)

E0h

Interface

Wireless Controller 无线控制器(蓝牙设备等)

EFh

Both

Miscellaneous 杂项(ActiveSync,PalmSync,各种协会等)

FEh

Interface

Application Specific 应用专有规范(固件升级,红外,USB测试与测量等)

FFh

Both

Vendor Specific 供应商自定义规范(手机,Class_FF&SubClass_FF&Prot_FF)

USB VID和PID相关推荐

  1. 通过USB VID和PID卸载USB设备

    以前也发过一几篇关于卸载USB设备的文章,其实原理都是一样都是使用同一个API "CM_Request_Device_Eject_ExW"来完成卸载工作,上一篇是通过遍历USB接点 ...

  2. USB设备的VID与PID

    一.VID和PID   PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的.这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已.GU ...

  3. Ubuntu下如何获取usb相机的PID/VID并打开指定的相机

    项目需求控制和打开两个USB摄像头,并且根据相机的PID和VID来打开指定的相机,来区分主副相机,在Windows下可以通过AForge.Video.DirectShow库来实现,但是Ubuntu下没 ...

  4. 浅谈USB设备的VID和PID

    亲测可用,若有疑问请私信 ​U盘的VID和PID分别是指Vendor ID(生产厂商ID) 和Product ID(产品ID). U盘的主控芯片决定了用什么量产工具.对于多数U盘来说,比如:金士顿.爱 ...

  5. 【产品】USB设备VID和PID查询

    VID: Vender ID供应商识别码,查询VID,申请VID. PID: Product ID产品识别码. 每一个供应商的VID是唯一,PID是由供应商自行决定: 主机通过VID和PID来识别不同 ...

  6. OpenCV:如何获取摄像头的型号以及USB设备的VID和PID信息?

    VID和PID PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的.这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已.GUID只是 ...

  7. linux 下查看 USB 设备的 PID 和 VID

    这里以 centos7为例 方法一: 首先进入 /sys/bus/usb/devices 目录: cd /sys/bus/usb/devices 先不要插入 usb 设备,然后使用 ll 命令,可查看 ...

  8. C++获取所有USB接口的vid、pid等信息

    最近项目要写一个MFC的外挂程序,要分别获取电脑上所有扫描枪的输入信息,这时我们就需要根据扫描枪的vid和pid进行区分,有一些同批次同型号的输入设备vid和pid会相同,我们可能需要设备实例路径进行 ...

  9. 获取电脑USB设备VID和PID等信息。

    转自:[VC] 获取电脑USB设备VID和PID等信息. 1,添加头文件和宏定义 [cpp] view plain copy print ? #include <setupapi.h> # ...

最新文章

  1. 进程与线程 thread (二)——线程概念
  2. 微信小程序获取不到unionid还有小程序无法解析JSON字符串的问题
  3. bnuoj 20950 沉重的货物 (最小生成树)
  4. 第四章 分治策略 4.1 最大子数组问题 (暴力求解算法)
  5. 新快现类似产品_小米全新折叠屏产品曝光,预计今年还有更多折叠屏产品亮相...
  6. css伪类元素加在元素前,CSS伪类:before在元素之前 :after 在元素之后实例讲解
  7. 基于Docker Compose搭建的Mysql8.0主从复制(1主3从,多主机)
  8. Ubuntu下Python安装了依赖包后仍然找不到包 python setup.py install 解决方案
  9. APL开发日志--2012-11-14
  10. jmeter录制脚本的步骤(很详细)
  11. NodeMCU-ESP8266开发(VSCODE+PlatformIO+Arduino框架):第5篇--Blinker_MIOT_MULTI_OUTLE(点灯科技APP+小爱同学控制插座多个插孔)
  12. redis的基本命令
  13. Robo3T操作MongoDB数据库常用命令
  14. shiro ajax 验证码,关于Shiro登录报验证码错误的问题
  15. LTE物理层概述(7)-- LTE之Turbo编码及其matlab仿真1
  16. elk笔记25--快速体验APM
  17. HDU - 5956 The Elder——斜率优化dp
  18. 安装与破解IntelliJ IDEA2017
  19. SpringSecurity原理:探究SpringSecurity运作流程
  20. 中心差商公式不同的h计算近似一(二)阶导数

热门文章

  1. 全国各地的五十种面条大全
  2. javafx小球运动
  3. 结构化数据,半结构化数据,非结构化数据非区别和示例
  4. Java腐烂的橘子leetcode
  5. AI RoboForm 7.3.2发布[附pro破解方法]
  6. Ribbon与Hystrix
  7. 1297: 小数化分数
  8. C++将小数化成分数
  9. devops包括什么_名字叫什么? DevOps版。
  10. JavaScript--轮播图_带计时器