从特定于总线的唯一 ID 生成的容器 ID
为设备生成容器 ID 的首选方法是基于特定于总线的唯一 ID。 这是生成容器 ID 的最精确、最可靠的方法。
如果以下情况成立,即插即用 (PnP) 管理器使用此方法:
设备包含特定于总线的唯一 ID。
设备的总线驱动程序将此唯一 ID 识别为存在且格式正确。
当 IO_STACK_LOCATION 结构的 Parameters.QueryId.IdType 成员设置为 BusQueryContainerID 时,总线驱动程序可以可靠地将唯一 ID 哈希为 GUID (GUID) 全局唯一标识符,并返回此 GUID 以响应IRP_MN_QUERY_ID函数代码。
Windows 7 及更高版本的 Windows 为几种最常见的总线类型提供收件箱驱动程序。 这包括 USB、蓝牙和 PnP-X。 对于这些总线类型,设备只需要包含特定于总线的唯一 ID。 然后,提供的 Windows 总线驱动程序将从设备读取唯一 ID 并创建容器 ID。
以下主题介绍收件箱总线驱动程序如何为某些总线类型生成容器 ID: