一、VID和PID
  PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的。这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已。GUID只是为了标志你安装的设备是属于一个什么类当中,这个类可以显示再设备管理器中。比如:你可以定义一个类,当然这个类有与系统中任何类都不同的GUID,然后选择一个图标和类名,就可以同网卡等其他设备一起显示在设备管理器下的根目录中了

根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备。

VID和PID通常情况下有两种存储方式,第一种是主控生产商的VID和PID,存储在主控的bootcode中;第二种是设备生产商的VID和PID,该VID和PID存储在主控外部的非易失性存储设备中(EEPROM或Flash)的设备固件中,当USB设备连接主机时,如果固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽略主控生产商的VID和PID。所以理论上一个USB存储设备的VID应该是设备生产商的VID,而不是主控生产商的VID,这两个VID应该是不同的(主控生产商自己生产的设备除外)。

由于VID和PID重复并不会对产品的使用带来严重影响,很多USB设备生产商(山寨厂居多)为了方便,并不会向USB执行论坛申请自己的VID,而是依然沿用主控生产商的VID或随便向产品写入VID和PID;同时,正规厂家只需要申请VID,PID由厂家自行确定,所以存在相同型号的产品,可能采用了不同的主控(商业需要,很正常),而他们的PID是一样的,基于上述原因通过VID和PID就不能准确识别USB设备的主控型号,这个问题大家在使用USB设备的过程中需要注意。

如:

  1. {USB_DEVICE (0x0733, 0x0430)}, /* Intel PC Camera Pro */

USB设备的VID与PID相关推荐

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

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

  2. 浅谈USB设备的VID和PID

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

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

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

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

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

  5. 监控USB设备插入/拔出写法2

    //检测设备增加移除相关消息 LRESULT CMiniHidTestDlg::OnMyDeviceChange(WPARAM wParam, LPARAM lParam) {CString pDev ...

  6. java获取usb设备的相关信息

    我从上上个礼拜开始接触,公司需要,所以开始在网上搜索相关资料,但是都没有找到合适的范例,但万幸终于测试出合适的代码. import java.io.UnsupportedEncodingExcepti ...

  7. 如何将USB设备映射到VM虚拟机?帮你轻松解决技术难题!

    如何将USB设备映射到VM虚拟机?帮你轻松解决技术难题! XenServer6.x U盘.加密狗等USB设备映射到VM虚拟机教程 1.确定安装XS 6.X虚拟化服务器主板支持 VT-D 技术并开启VT ...

  8. 解决同VID/PID usb设备驱动重复安装的问题

    电脑连接同型号usb设备不同机器会为每个设备都安装驱动,这样很麻烦,浪费时间.下面为解决方案: (1)每一台设备使用相同的SN,手机上用的sn一般是flash sn或设备写的sn号 (2)电脑端忽略设 ...

  9. 【USB笔记】查询VID对应的USB设备厂商

    查询VID对应的USB设备厂商 USB笔记 VID查询 1.USB-IF 2.Linux USB Project 3.Device Hunt USB笔记 VID查询 USB设备的VID(Vendor ...

最新文章

  1. reboot 百度网盘资源
  2. Apache将整合Google Wave功能
  3. ways to talk with girls
  4. 超全面的freemarker教程
  5. java 中静态变量(类变量)与实例变量 静态方法与实例方法
  6. mysql 并发_MySQL的并发控制与加锁分析
  7. Java进阶03 IO基础
  8. python采集人脸_python获取人脸的代码分享
  9. mysql 命令创建一个用户名和密码_Mysql的进入数据库指令和创建新用户密码的介绍...
  10. matlab weibpdf函数,MATLAB常用函数
  11. 网上银行说此服务器证书无效,个人网银业务操作时,系统提示“客户端证书无效”,该如何解决?...
  12. 关键路径例题图表_计算题专题:关键路径法(CPM)
  13. Windows下LimeSDR Mini使用说明
  14. 计算机硬件是外观吗,计算机硬件从外观上看主要有主机箱.doc
  15. Android默认设置MTP模式
  16. 使用Web前端技术实现的梦幻VR虚拟现实效果
  17. 来与大家分享一些我们珍藏的、有力量的语句
  18. 让程序在服务器后台持续运行
  19. 计算机图形学 线性代数复习
  20. 云服务器装操作系统吗,腾讯云服务器如何重装操作系统

热门文章

  1. 在Ubuntu中安装Chrome浏览器
  2. [导入]心若一动 泪就一行(转)
  3. 开发管理 CheckLists(7) -项目利益相关者责任
  4. 猿辅导2019 编程两道
  5. 甜品店如何用大数据进行选址要素采集
  6. springboot集成flowable创建请假流程实例
  7. 崔宝秋国际开源经验在小米开花 | 开源英雄
  8. python账号_基于Python打造账号共享浏览器功能
  9. 企业申请E-mark认证要检测些什么?
  10. 计算机操作员考试模拟在线考试,计算机操作员高级问答集考试卷模拟考_试题...