DEVPKEY_Device_BaseContainerId
DEVPKEY_Device_BaseContainerId 设备属性表示基本容器标识符 (ID) 的 GUID 值。 Windows 即插即用 (PnP) 管理器将此值分配给设备节点 (devnode) 。
Attribute | 值 |
---|---|
属性键 | DEVPKEY_Device_BaseContainerId |
Property-data-type identifier | DEVPROP_TYPE_GUID |
和 | 安装应用程序和安装程序的只读访问权限。 |
相应的 SPDRP_Xxx 标识符 | SPDRP_BASE_CONTAINERID |
本地化? | 否 |
备注
PnP 管理器使用以下方法之一确定开发节点的容器 ID:
总线驱动程序提供容器 ID。
当 PnP 管理器将容器 ID 分配给开发节点时,它首先检查开发节点的总线驱动程序是否可以提供容器 ID。 总线驱动程序通过 IRP_MN_QUERY_ID 查询请求提供容器 ID,并将 Parameters.QueryId.IdType 字段设置为 BusQueryContainerID。
PnP 管理器使用可移动设备功能生成容器 ID。
如果总线驱动程序无法为其枚举的开发节点提供容器 ID,则 PnP 管理器使用可移动设备功能为设备枚举的所有开发节点生成容器 ID。 总线驱动程序报告此设备功能以响应 IRP_MN_QUERY_CAPABILITIES 请求。
PnP 管理器使用可移动设备功能的替代生成容器 ID。
尽管替代机制不会更改可移动设备功能的值,但它强制 PnP 管理器在为设备生成容器 ID 时使用替代设置而不是可移动设备功能的值。
有关这些方法的详细信息,请参阅 如何生成容器 ID。
无论如何获取容器 ID 值,PnP 管理器都会将该值分配给 devnode 的 DEVPKEY_Device_BaseContainerId 属性。
DEVPKEY_Device_BaseContainerId 属性可用于强制将新开发节点与系统中存在的其他开发节点分组。 这使你可以使用新的开发节点作为其他相关开发节点的父 (或 基) 容器 ID。 为此,必须先获取现有开发节点的DEVPKEY_Device_BaseContainerID GUID。 然后,必须返回新开发节点的容器 ID GUID,以响应将 Parameters.QueryId.IdType 字段设置为 BusQueryContainerID的IRP_MN_QUERY_ID查询请求。
注意
查询DEVPKEY_Device_BaseContainerId或 DEVPKEY_Device_ContainerId 属性返回的值对于同一开发节点可能不同。
注意
请勿使用 DEVPKEY_Device_BaseContainerId 属性重新构造系统中的设备容器分组。 请改用 DEVPKEY_Device_ContainerId 属性。
有关容器 ID 的详细信息,请参阅 容器 ID。
要求
版本:Windows 7 及更高版本的 Windows
标头:Devpkey.h (包括 Devpkey.h)