ドライバー パッケージ コンテナー メタデータは、OEM と IHV に ドライバー パッケージ ベースのソリューションを提供し、 デバイス コンテナーによって表される物理デバイスに関するユーザー向けの情報をカスタマイズおよび強化します。 物理デバイスには、コンピューターまたはコンピューター自体に接続された周辺機器を使用できます。 次の一覧は、ドライバー パッケージコンテナーメタデータが提供できる情報の種類を示しています。
- OEM/IHV の名前。
- デバイス コンテナーのモデル名。
- デバイス コンテナーがサポートする 1 つ以上の機能カテゴリ。
- デバイスコンテナを表すフォトリアリスティックなアイコン。
コンテナー メタデータがない場合、オペレーティング システムは、デバイス コンテナーに属するすべての デバイス ノード (devnode) を調べてから、devnode の情報に基づいてヒューリスティックを実行することで、前の一覧の情報を生成します。 このプロセスでは、OEM または IHV が物理デバイスの表示に必要な値にならない場合があります。 コンテナー メタデータは、OEM または IHV がこれらの値を直接制御するために使用できます。
ドライバー パッケージ コンテナーのメタデータは、Windows 11 24H2 KB5052093 (OS ビルド 26100.3323) 以降でサポートされています。 コンテナー メタデータを含むドライバー パッケージが古い Windows システムにインストールされている場合、インストールは成功しますが、コンテナー メタデータは処理および適用されません。
基本 INF または拡張 INF の使用
ドライバー パッケージ INF ファイル内の INF AddProperty ディレクティブは、ドライバー パッケージ コンテナーのメタデータを指定します。 コンテナー メタデータに使用する INF ファイルの推奨事項は次のとおりです。
- OEM/IHV に、デバイス コンテナーの一部である開発ノードの基本 INF であるドライバー パッケージが既にある場合は、そのドライバー パッケージを更新してコンテナー メタデータを含める必要があります。
- OEM/IHV に、デバイス コンテナーの一部である開発ノードの基本 INF であるドライバー パッケージがない場合は、拡張 INF ドライバー パッケージを作成することをお勧めします。 基本 INF と比較して、拡張 INF はコンテナー メタデータを含める軽量な方法です。
基本 INF と拡張 INF の詳細については、「 拡張 INF ファイルの使用」を参照してください。
コンテナー メタデータを指定する INF ファイルを認定するには、更新された InfVerif が必要です。これは 、Windows Driver Kit バージョン 10.0.26100.3323 および Windows HLK 24H2 (2025 年 1 月更新) 以降で使用できます。
デバイス コンテナーのターゲット設定
ドライバー パッケージは、デバイス固有の情報を使用して個々の開発ノードを対象とします。 この情報には、 ハードウェア ID と 互換性のある ID が含まれます。 適切なデバイス コンテナーにコンテナー メタデータを提供するには、ドライバー パッケージがデバイス コンテナーに属しているいずれかの devnode をターゲットにする必要があります。 デバイス コンテナーに属するすべての devnode を表示するには、いくつかの方法があります。
- PnPUtil /enum-containers /devices (Windows 11 バージョン 24H2 以降で使用可能なコマンド)
- デバイス マネージャー: -> デバイスをコンテナー別に表示する (Windows 10 バージョン 1703 以降で使用可能なオプションを表示)
コンピューター コンテナーのコンテナー メタデータを提供するには、 OEM コンピューター デバイスと呼ばれる特別な開発ノードで拡張 INF をターゲットにする必要があります。 OEM コンピューター デバイスは、Windows 11 バージョン 22H2 以降で使用できます。
OEM コンピューター デバイスは、次の例のように、デバイス クラスとハードウェア ID によって識別できます。
Computer クラスに属するすべての devnode を列挙します。
PnPUtil /enum-devices /class Computer /deviceids
OEM コンピューター デバイスは次のように表示されます。
Instance ID: SWD\COMPUTER\... Status: Started Driver Name: compdev.inf Hardware IDs: COMPUTER\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} COMPUTER\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} COMPUTER\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} COMPUTER\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} ...
Windows ハードウェア デベロッパー センターでは、 OEM コンピューター デバイス によって公開されている ID に一致するドライバー パッケージのみを拡張 INF にすることができます。 送信時に、出荷ラベル ページの [ビジネス上の正当な理由 ] ボックスでデバイスの受信トレイ Windows ドライバーを指定することが重要です: ExtendsInboxDriver=compdev.inf
。 拡張 INF の送信と公開の詳細については、「パートナー センターおよび拡張 INF の対象ルールで拡張 INF ファイルを操作する」を参照してください。
例示
次の例は、特定のモデル システム上の OEM コンピューター デバイスをターゲットにして、コンテナー メタデータをコンピューター コンテナーに提供する方法を示しています。
[Standard.NTamd64]
%Device.ExtensionDesc% = DeviceInstall, Computer\{417c41d7-1d11-5b78-ab26-00b745dfac94}
%Device.ExtensionDesc% = DeviceInstall, Computer\{70127e8f-991f-505a-b966-fc08b6f74f94}
%Device.ExtensionDesc% = DeviceInstall, Computer\{ff26d547-8d7f-5069-bbcb-0c50756b691a}
%Device.ExtensionDesc% = DeviceInstall, Computer\{770bbdbb-bbf5-5d39-ae1a-25f41b7bbcfd}
[DeviceInstall]
AddProperty = ComputerMetadata_Properties
[ComputerMetadata_Properties]
ContainerModelName,,,, %ModelName%
ContainerManufacturer,,,, %Manufacturer%
ContainerCategories,,,, Computer.Tablet
ContainerIcon,,,, %13%\CustomComputer.ico
[Strings]
Device.ExtensionDesc = "Custom Computer Metadata Extension"
ModelName = "Custom Computer"
Manufacturer = "Custom Manufacturer"
; en-us
[Strings.0409]
Device.ExtensionDesc = "Custom Computer Metadata Extension"
ModelName = "Custom Computer"
Manufacturer = "Custom Manufacturer"
; zh-cn
[Strings.0804]
Device.ExtensionDesc = "自定义电脑元数据拓展"
ModelName = "自定义电脑型号"
Manufacturer = "自定义制造商"
次の例は、多機能プリンターを表すコンテナーに対して、 印刷サポート アプリの関連付けを 含むコンテナー メタデータを提供する方法を示しています。
[Standard.NTamd64]
%Device.ExtensionDesc% = DeviceInstall, MF\CustomPrinter&WSD&IP_PRINT
%Device.ExtensionDesc% = DeviceInstall, WSDPRINT\CustomPrinter
%Device.ExtensionDesc% = DeviceInstall, USBPRINT\CustomPrinter
%Device.ExtensionDesc% = DeviceInstall, CustomPrinter
[DeviceInstall]
AddProperty = Container_Metadata_Properties
AddProperty = PSA_Association_Property
[Container_Metadata_Properties]
ContainerModelName,,,, %ModelName%
ContainerManufacturer,,,, %Manufacturer%
ContainerCategories,,,, PrintFax.Printer, Imaging.Scanner
ContainerIcon,,,, %13%\CustomPrinter.ico
[PSA_Association_Property]
{A925764B-88E0-426D-AFC5-B39768BE59EB}, 1, 0x12,, CustomPrinterAUMID
[DeviceInstall.Software]
AddSoftware = Printer Control App,, Print_SoftwareInstall
[Print_SoftwareInstall]
SoftwareType = 2
SoftwareID = pfn://CustomPrinterControlAppId
[Strings]
Device.ExtensionDesc = "Container Property Extension"
ModelName = "Custom Printer"
Manufacturer = "Custom Manufacturer"
デバイス メタデータ パッケージから移行する場合、次に示すのは、多機能プリンターの上記の例でデバイス メタデータ パッケージがどのようなものかを示しています。
PackageInfo.xml
<?xml version="1.0" encoding="utf-8"?> <PackageInfo xmlns="http://schemas.microsoft.com/windows/DeviceMetadata/PackageInfo/2007/11/"> <MetadataKey> <HardwareIDList> <HardwareID>DOID:MF\CustomPrinter&WSD&IP_PRINT</HardwareID> <HardwareID>DOID:WSDPRINT\CustomPrinter</HardwareID> <HardwareID>DOID:USBPRINT\CustomPrinter</HardwareID> <HardwareID>DOID:CustomPrinter</HardwareID> </HardwareIDList> <Locale default="true">en-US</Locale> <LastModifiedDate>2014-04-08T07:19:14Z</LastModifiedDate> </MetadataKey> ... </PackageInfo>
DeviceInfo.xml
<?xml version="1.0" encoding="utf-8"?> <DeviceInfo xmlns="http://schemas.microsoft.com/windows/DeviceMetadata/DeviceInfo/2007/11/"> <DeviceCategoryList> <DeviceCategory>PrintFax.Printer</DeviceCategory> <DeviceCategory>Imaging.Scanner</DeviceCategory> </DeviceCategoryList> <ModelName>Custom Printer</ModelName> <Manufacturer>Custom Manufacturer</Manufacturer> <DeviceIconFile>CustomPrinter.ico</DeviceIconFile> </DeviceInfo>
SoftwareInfo.xml
<?xml version="1.0" encoding="utf-8"?> <SoftwareInfo xmlns="http://schemas.microsoft.com/windows/2010/08/DeviceMetadata/SoftwareInfo"> <DeviceCompanionApplications> <Package> <Identity Name="CustomPrinterControlAppName" Publisher="CustomPrinterControlAppPublisher" /> ... </Package> </DeviceCompanionApplications> ... </SoftwareInfo>