即使从USB设备提供的设备数据对于所有设备都是通用的,Windows如何唯一标识USB设备? 为了说明这一点,Windows可以区分相同型号的戴尔键盘的两个实例,而无需键盘提供任何唯一的序列号。初始化USB设备时,Windows搜索的专有数据字段是什么?Windows如何唯一识别USB设备?
回答
当我们将设备连接到设备主机时,将发生枚举过程,在此过程结束时,主机将为新连接的设备提供唯一地址。因此,连接到系统的每个设备将具有由系统提供的唯一ID,使用该ID可以识别设备并发生通信
考虑这种情况。 USB设备是第一次插入,只要它启动操作系统知道该特定设备。但是在重新启动时,设备应该发送一些数据/唯一标识符/唯一编号字段,使用该字段,操作系统可以识别出此设备早已插入。 – Bleamer
@Bleamer如果设备被拔掉,它将在下一个插件重新枚举,而不管之前的状态如何。如果设备被重置/重新启动/无论您何时调用它,而不会被拔出,枚举不会丢失,设备重新启动的过程与它无关 - 这是一个专有序列,每个设备都有所不同 – SomeWittyUsername
Windows使用Device Instance ID进行标识。正如您在文档中看到的那样,它包含一个设备部分和一个实例部分。
设备部件取自USB设备。
它是由一个总线驱动程序如何生成实例部分。公交车司机不能完全依靠从USB设备返回的信息。因为两个相同的设备会破坏系统 - 设备实例ID必须是唯一的!所以通常它会附加额外的信息 - 端口号等(确切的算法是未知的,取决于驱动程序制造商)。此外,PNP管理器可以为实例ID添加更多的唯一性。
- 1. 唯一识别设备
- 2. 如何唯一识别设备?
- 3. 如何重新识别USB设备
- 4. 语音识别USB设备
- 5. 如何识别何时将USB设备插入WinCE设备
- 6. 如何识别一个设备(唯一标识符,CFUUIDRef,设备令牌?)
- 7. 唯一识别移动设备
- 8. Ubuntu RXTX不识别usb串行设备
- 9. 在Python中识别单个USB设备
- 10. Linux上无法识别的USB设备
- 11. Windows设备不再识别Android设备
- 12. 如何从浏览器识别设备和检索唯一ID
- 13. 唯一设备标识符
- 14. Ubuntu/Debian如何识别设备的USB端口
- 15. 如何在Linux中识别USB设备的芯片组?
- 16. 如何根据其VID和PID识别USB设备
- 17. PC无法识别Windows手机设备
- 18. 在我的具体情况下唯一识别设备
- 19. Windows CE设备的唯一机器标识
- 20. ios的唯一设备标识
- 21. 外围BLE设备的唯一标识
- 22. 唯一标识Android Wear设备
- 23. 在iOS中唯一标识设备
- 24. 设备ID识别
- 25. 如何识别Android设备唯一的某种方式是最近折旧
- 26. AZURE ACS - Windows Live ID:如何识别唯一用户
- 27. 如何识别Windows Mobile 2005设备已连接到通讯座?
- 28. 如何在windows phone中完成死亡设备识别
- 29. 如何识别唯一的Mac系统
- 30. 反应如何唯一识别组件?
此问题是否针对不提供唯一ID的设备?由于USB确实支持不同设备的唯一标识符(但它们不是必需的)。 – Dracs
一个实例是键盘,或者一般的HID设备不提供序列号。 – Bleamer
如果设备连接到不同的端口,则主机可以区分它们,即使它们相同。 –