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)

另请参阅

容器 ID

DEVPKEY_Device_ContainerId

SetupDiGetDeviceProperty