Megosztás:


Illesztőprogram-csomag tároló metaadatai

Az illesztőprogram-csomag tároló metaadatai illesztőprogram-csomagalapú megoldással biztosítják az OEM-eket és az IHV-ket a fizikai eszközükkel kapcsolatos felhasználói információk testreszabásához és javításához az eszköztárolók által képviselt módon. A fizikai eszköz lehet a számítógéphez vagy magához a számítógéphez csatlakoztatott periféria. Az alábbi lista az illesztőprogram-csomag tárolójának metaadatai által megadható információk típusát mutatja be:

  • Az OEM/IHV neve.
  • Az eszköztároló modellneve.
  • Egy vagy több funkcionális kategória, amelyet az eszköztároló támogat.
  • Az eszköztárolót ábrázoló fényképes valósághű ikon.

Tároló metaadatai nélkül az operációs rendszer az előző listában szereplő információkat az eszköztárolóhoz tartozó összes eszközcsomópont (devnode) megtekintésével hozza létre, majd heurisztikus adatokat futtat a devnodes adatai alapján. Ez a folyamat nem feltétlenül eredményezi az OEM-ek vagy az IHV-k által a fizikai eszközök megjelenítéséhez kívánt értékeket. A tároló metaadatait az OEM-k vagy az IHV-k használhatják az értékek közvetlen szabályozásához.

Az illesztőprogram-csomag tároló metaadatai a Windows 11 24H2 KB5052093 (26100.3323 operációs rendszer-verzió) verziótól kezdve vannak támogatva. Ha a tároló metaadatait tartalmazó illesztőprogram-csomag egy régebbi Windows-rendszeren van telepítve, a telepítés sikeres lesz, de a tároló metaadatai nem lesznek feldolgozva és alkalmazva.

Alap INF vagy bővítmény INF használata

Az ILLESZTŐPROGRAM-csomag INF-fájljában található INF AddProperty direktíva határozza meg az illesztőprogram-csomag tárolójának metaadatait. A tároló metaadataihoz használandó INF-fájlra vonatkozó javaslataink a következők:

  1. Ha az oemek/IHV-k már rendelkeznek olyan illesztőprogram-csomaggal, amely az eszköztároló részét képező devnode alap INF-azonosítója, az illesztőprogram-csomagot frissíteni kell, hogy tartalmazza a tároló metaadatait.
  2. Ha az oemek/IHV-k nem rendelkeznek olyan illesztőprogram-csomaggal, amely az eszköztároló részét képező devnode alap INF-azonosítója, akkor ajánlott létrehozni egy bővítmény INF-illesztőcsomagot. Az alap INF-hez képest a bővítmény INF a tároló metaadatainak kisebb súlyozási módja.

További információ az alap INF-ekről és a bővítmény INF-jeiről: Bővítmény INF-fájl használata.

A tároló metaadatait meghatározó INF-fájl minősítéséhez frissített InfVerif szükséges, amely a Windows Driver Kit 10.0.26100.3323-tól és a Windows HLK 24H2-től (frissítve 2025. januártól) érhető el.

Eszköz konténer célzása

Az illesztőprogram-csomagok egyes eszközcsomópontokra vannak megcélozva eszközspecifikus információk használatával. Ezek az információk hardverazonosítókat és kompatibilis azonosítókat tartalmaznak. Ahhoz, hogy a tároló metaadatait a megfelelő eszköztárolónak adja meg, az illesztőprogram-csomagnak meg kell céloznia az eszköztárolóhoz tartozó egyik devnode-t. Az eszköztárolóhoz tartozó összes devnode többféleképpen is megtekinthető:

  1. PnPUtil /enum-containers /devices (A parancs a Windows 11 24H2-es verziójától érhető el)
  2. Eszközkezelő: Megtekintés –> Eszközök tároló szerint (A Nézet lehetőség a Windows 10 1703-es verziójától kezdve érhető el)

A számítógép-konténer metaadatainak megadásához célba kell vennie egy INF-kiterjesztést egy speciális devnode-ra, amelyet OEM-számítógép-eszköznek hívunk. Az OEM-számítógép eszköz a Windows 11 22H2-es verziójától érhető el.

Az OEM-számítógép-eszköz az eszközosztály és a hardverazonosítók alapján azonosítható, például az alábbi példában:

  1. A Számítógép osztályhoz tartozó összes devnode számbavétele:

    PnPUtil /enum-devices /class Computer /deviceids
    
  2. Az OEM-számítógép-eszköz a következőképpen jelenik meg:

    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}
        ...
    

A Windows Hardverfejlesztési központ csak az OEM-számítógép által közzétett azonosítókon egyező illesztőprogram-csomagokat engedélyezi bővítmény INF-ekként. A beküldés során fontos megadni az eszközhöz tartozó Windows-illesztőprogramot a szállítási címke oldal Üzleti indoklás mezőjében: ExtendsInboxDriver=compdev.inf. A bővítmény INF-fájlok beküldésével és közzétételével kapcsolatos további információkért lásd: Bővítmény INF-fájlok használata a Partnerközpontban és abővítmény INF-célzási szabályaiban.

Példák

Az alábbi példa bemutatja, hogyan adhatja meg a tároló metaadatait a számítógéptárolóhoz úgy, hogy az OEM-számítógépeszközt egy adott modellrendszeren célozza meg:

[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 = "自定义制造商"

Az alábbi példa bemutatja, hogyan jelennek meg a tároló metaadatai, köztük a nyomtatótámogatási alkalmazás társítása egy többfunkciós nyomtatót képviselő tárolóhoz:

[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"

Az eszköz metaadat-csomagjairól áttűnők esetében az alábbiakban láthatja, hogyan nézhet ki egy eszköz metaadatcsomagja a többfunkciós nyomtató fenti példájához:

  • 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>