次の方法で共有


DEVPKEY_Device_BaseContainerId

DEVPKEY_Device_BaseContainerId のデバイスプロパティは、基本コンテナー識別子 (ID) の GUID 値を表します。 Windows プラグアンドプレイ (PnP) マネージャーは、この値をデバイスノード (devnode) に割り当てます。

属性 Value
プロパティ キー DEVPKEY_Device_BaseContainerId
プロパティデータ型識別子 DEVPROP_TYPE_GUID
「プロパティ アクセス」 インストールアプリケーションとインストーラーによる読み取り専用のアクセス。
対応する SPDRP_Xxx 識別子 SPDRP_BASE_CONTAINERID
ローカライズ済みでしょうか? いいえ

解説

PnP マネージャーは、次のいずれかの方法を使用して、devnode のコンテナー ID を決定します。

  • バスドライバーは、コンテナー ID を提供します。

    PnP マネージャーは、devnode にコンテナー ID を割り当てるときに、まず、devnode のバスドライバーがコンテナー ID を提供できるかどうかを確認します。 バスドライバーは、Parameters.QueryId.IdType のフィールドが BusQueryContainerID に設定された IRP_MN_QUERY_ID のクエリ要求を通じてコンテナー ID を提供します。

  • PnP マネージャーは、リムーバブルデバイス機能を使用してコンテナー ID を生成します。

    バスドライバーが列挙している devnode のコンテナー ID を指定できない場合、PnP マネージャーはリムーバブルデバイス機能を使用して、デバイスに列挙されているすべての devnode のコンテナー ID を生成します。 バスドライバーは、IRP_MN_QUERY_CAPABILITIES 要求に応答してこのデバイス機能を報告します。

  • PnP マネージャーは、リムーバブルデバイス機能のオーバーライドを使用してコンテナー ID を生成します。

    オーバーライドメカニズムはリムーバブルデバイス機能の値を変更しませんが、デバイスのコンテナー ID を生成するときに、リムーバブルデバイス機能の値ではなく、オーバーライド設定を使用するように PnP マネージャーに強制します。

これらのメソッドの詳細については、コンテナー ID の生成方法を参照してください。

コンテナー ID 値の取得方法に関係なく、PnP マネージャーは devnode の DEVPKEY_Device_BaseContainerId のプロパティに値を割り当てます。

DEVPKEY_Device_BaseContainerId プロパティを使用すると、新しい開発ノードを、システムに存在する他の開発ノードと強制的にグループ化できます。 これにより、新しい devnode を、他の関連する devnode の親 (または ベース) コンテナー ID として使用できます。 これを行うには、まず既存の devnode の DEVPKEY_Device_BaseContainerID GUID を取得する必要があります。 次に、Parameters.QueryId.IdType のフィールドが BusQueryContainerID に設定されている IRP_MN_QUERY_ID のクエリ要求に応答して、新しい devnode のコンテナー ID GUID を返す必要があります。

Note

DEVPKEY_Device_BaseContainerId または DEVPKEY_Device_ContainerId のプロパティのクエリによって返される値は、同じ devnode に対して異なる場合があります。

Note

DEVPKEY_Device_BaseContainerId プロパティを使用して、システム内のデバイスコンテナーのグループ化を再構築しないでください。 代わりに DEVPKEY_Device_ContainerId のプロパティを使用してください。

ContainerID の詳しい情報については、コンテナー ID を参照してください。

要件

バージョン:Windows 7 とそれ以降のバージョンの Windows

ヘッダー:Devpkey.h (Devpkey.h を含む)

関連項目

コンテナー ID

DEVPKEY_Device_ContainerId

SetupDiGetDeviceProperty