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 を含む)