即使從USB設備提供的設備數據對於所有設備都是通用的,Windows如何唯一標識USB設備? 爲了說明這一點,Windows可以區分相同型號的戴爾鍵盤的兩個實例,而無需鍵盤提供任何唯一的序列號。初始化USB設備時,Windows搜索的專有數據字段是什麼?Windows如何唯一識別USB設備?
回答
當我們將設備連接到設備主機時,將發生枚舉過程,在此過程結束時,主機將爲新連接的設備提供唯一地址。因此,連接到系統的每個設備將具有由系統提供的唯一ID,使用該ID可以識別設備併發生通信
考慮這種情況。 USB設備是第一次插入,只要它啓動操作系統知道該特定設備。但是在重新啓動時,設備應該發送一些數據/唯一標識符/唯一編號字段,使用該字段,操作系統可以識別出此設備早已插入。 – Bleamer
@Bleamer如果設備被拔掉,它將在下一個插件重新枚舉,而不管之前的狀態如何。如果設備被重置/重新啓動/無論您何時調用它,而不會被拔出,枚舉不會丟失,設備重新啓動的過程與它無關 - 這是一個專有序列,每個設備都有所不同 – SomeWittyUsername
Windows使用Device Instance ID進行標識。正如您在文檔中看到的那樣,它包含一個設備部分和一個實例部分。
設備部件取自USB設備。
它是由一個總線驅動程序如何生成實例部分。公交車司機不能完全依靠從USB設備返回的信息。因爲兩個相同的設備會破壞系統 - 設備實例ID必須是唯一的!所以通常它會附加額外的信息 - 端口號等(確切的算法是未知的,取決於驅動程序製造商)。此外,PNP管理器可以爲實例ID添加更多的唯一性。
- 1. 如何識別唯一的USB設備?
- 2. 唯一識別設備
- 3. 如何唯一識別ios設備
- 4. 如何唯一識別設備?
- 5. 如何重新識別USB設備
- 6. 語音識別USB設備
- 7. 如何使用C++/Windows識別新插入的android USB設備?
- 8. 如何識別何時將USB設備插入WinCE設備
- 9. 如何識別一個設備(唯一標識符,CFUUIDRef,設備令牌?)
- 10. 唯一識別移動設備
- 11. Linux上無法識別的USB設備
- 12. Ubuntu RXTX不識別usb串行設備
- 13. 在Python中識別單個USB設備
- 14. 識別相關的USB設備
- 15. Windows設備不再識別Android設備
- 16. 如何唯一標識iOS設備?
- 17. 如何從瀏覽器識別設備和檢索唯一ID
- 18. 唯一設備標識符
- 19. 設備無法識別USB調試中的AVD設備
- 20. Ubuntu/Debian如何識別設備的USB端口
- 21. 如何在Linux中識別USB設備的芯片組?
- 22. 如何通過USB識別連接的設備
- 23. 如何根據其VID和PID識別USB設備
- 24. 唯一識別
- 25. 一種唯一識別BTLE設備的方法
- 26. PC無法識別Windows手機設備
- 27. Windows USB設備位置
- 28. 在我的具體情況下唯一識別設備
- 29. Windows CE設備的唯一機器標識
- 30. 唯一標識用戶設備
此問題是否針對不提供唯一ID的設備?由於USB確實支持不同設備的唯一標識符(但它們不是必需的)。 – Dracs
一個實例是鍵盤,或者一般的HID設備不提供序列號。 – Bleamer
如果設備連接到不同的端口,則主機可以區分它們,即使它們相同。 –