1

即使从 USB 设备提供的设备数据对于该品牌的所有设备都是通用的,Windows 如何唯一地识别 USB 设备?换句话说,Windows 可以区分相同型号的戴尔键盘的两个实例,而无需键盘提供任何唯一的序列号。初始化 USB 设备时,窗口搜索的专有数据字段是什么?

4

2 回答 2

4

Windows 使用设备实例 ID进行标识。正如您在文档中看到的,它包含一个设备部分和一个实例部分。

设备部分取自 USB 设备。

如何生成实例部分取决于总线驱动程序。总线驱动程序不能仅仅依赖从 USB 设备返回的信息。因为两个相同的设备会破坏系统 - 设备实例 ID 必须是唯一的!所以通常它会附加额外的信息 - 端口号等(确切的算法是未知的,取决于驱动程序制造商)。PNP 管理器还可以为实例 ID 添加更多唯一性。

于 2013-05-15T12:06:54.950 回答
1

当我们将一个设备连接到该设备的主机时,会发生枚举过程,在这个过程结束时,主机会为新连接的设备提供一个唯一的地址。因此,连接到系统的每个设备都将具有系统提供的唯一 ID,使用此 ID 可以识别设备并进行通信

于 2013-05-15T07:04:25.753 回答