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