Aracılığıyla paylaş


Sürücü Paketi Kapsayıcı Meta Verileri

Sürücü paketi kapsayıcısı meta verileri, OEM'lere ve IHV'lere bir cihaz kapsayıcısı tarafından temsil edilen fiziksel cihazları hakkındaki kullanıcıya yönelik bilgileri özelleştirmek ve geliştirmek için sürücü paketi tabanlı bir çözüm sağlar. Fiziksel cihaz, bilgisayara veya bilgisayarın kendisine bağlı bir çevre birimi olabilir. Aşağıdaki listede, sürücü paketi kapsayıcı meta verilerinin sağlayabildiği bilgi türü gösterilmektedir:

  • OEM/IHV'nin adı.
  • Cihaz kapsayıcısının model adı.
  • Cihaz kapsayıcısının desteklediği bir veya daha fazla işlevsel kategori.
  • Cihaz kapsayıcısını temsil eden foto-gerçekçi simge.

Kapsayıcı meta verileri olmadan, işletim sistemi cihaz kapsayıcısına ait tüm cihaz düğümlerine (devnodes) bakarak önceki listedeki bilgileri oluşturur ve ardından devnodes bilgilerine göre buluşsal yöntemler çalıştırır. Bu işlem, OEM'ler veya IHV'ler tarafından fiziksel cihazlarının görüntülenmesi için istenen değerlere neden olmayabilir. Kapsayıcı meta verileri, bu değerleri doğrudan denetlemek için OEM'ler veya IHV'ler tarafından kullanılabilir.

Sürücü paketi kapsayıcısı meta verileri Windows 11 24H2 KB5052093 (İs Derlemesi 26100.3323) sürümünden itibaren desteklenir. Kapsayıcı meta verilerini içeren sürücü paketi eski bir Windows sisteminde yüklüyse yükleme başarılı olur, ancak kapsayıcı meta verileri işlenmez ve uygulanmaz.

Temel INF veya Uzantı INF kullanma

Sürücü paketi INF dosyasındakiINF AddProperty yönergesi, sürücü paketi kapsayıcı meta verilerini belirtir. Kapsayıcı meta verileri için hangi INF dosyasının kullanılacağına ilişkin önerilerimiz şunlardır:

  1. OEM'ler/IHV'ler zaten cihaz kapsayıcısının parçası olan bir devnode için temel INF olan bir sürücü paketine sahipse, bu sürücü paketi kapsayıcı meta verilerini içerecek şekilde güncelleştirilmelidir.
  2. OEM'ler/IHV'ler cihaz kapsayıcısının parçası olan bir devnode için temel INF olan bir sürücü paketine sahip değilse, uzantı INF sürücü paketi oluşturulması önerilir. Temel INF ile karşılaştırıldığında uzantı INF, kapsayıcı meta verilerini eklemenin daha hafif bir yoludur.

Temel INF'ler ve uzantı INF'leri hakkında daha fazla bilgi için bkz. Uzantı INF Dosyası Kullanma.

Kapsayıcı meta verilerini belirten bir INF dosyasını onaylamak için, Windows Sürücü Seti, Sürüm 10.0.26100.3323 ve Windows HLK 24H2'den (Ocak 2025'te güncelleştirildi) itibaren kullanılabilen güncelleştirilmiş bir InfVerif gereklidir.

Cihaz Kapsayıcısı Hedefleme

Sürücü paketleri, cihaza özgü bilgiler kullanılarak tek tek devnode'lara hedeflenir. Bu bilgiler donanım kimliklerini ve uyumlu kimlikleri içerir. Kapsayıcı meta verilerini doğru cihaz kapsayıcısına sağlamak için sürücü paketinin cihaz kapsayıcısına ait devnode'lardan birini hedeflemesi gerekir. Bir cihaz kapsayıcısına ait tüm devnode'ları görüntülemenin birkaç yolu vardır:

  1. PnPUtil /enum-containers /devices (Komut Windows 11, sürüm 24H2'den itibaren kullanılabilir)
  2. Cihaz Yöneticisi: Görünüm -> Kapsayıcıya göre cihazlar (Görünüm seçeneği Windows 10, sürüm 1703'den itibaren kullanılabilir)

Bilgisayar kapsayıcısı için kapsayıcı meta verileri sağlamak amacıyla, uzantı INF'yi OEM bilgisayar cihazı adlı özel bir devnode hedeflemeniz gerekir. OEM bilgisayar cihazı Windows 11, sürüm 22H2'den itibaren kullanılabilir.

OEM bilgisayar cihazı, aşağıdaki örnekte olduğu gibi cihaz sınıfı ve donanım kimlikleriyle tanımlanabilir:

  1. Computer sınıfına ait tüm devnode'ları numaralandır:

    PnPUtil /enum-devices /class Computer /deviceids
    
  2. OEM bilgisayar cihazı aşağıdaki gibi görünür:

    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 Donanım Geliştirme Merkezi, yalnızca OEM bilgisayar cihazı tarafından kullanıma sunulan kimliklerle uyumlu olan sürücü paketlerinin uzantı INF'ler olmasına izin verir. Gönderim sırasında, sevkiyat etiketi sayfasının İş Gerekçesi kutusunda cihaz için standart Windows sürücüsünün belirtilmesi önemlidir: ExtendsInboxDriver=compdev.inf. Uzantı INF'lerini gönderme ve yayımlama hakkında daha fazla bilgi için bkz. İş Ortağı Merkezi'nde uzantı INF dosyalarıyla çalışma ve Uzantı INF hedefleme kuralları.

Örnekler

Aşağıdaki örnekte, belirli model sistemlerinde OEM bilgisayar cihazı hedeflenerek bilgisayar kapsayıcısına kapsayıcı meta verilerinin nasıl sağlanıyor olduğu gösterilmektedir:

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

Aşağıdaki örnek, çok işlevli bir yazıcıyı temsil eden bir kapsayıcı için Yazdırma Desteği Uygulaması ilişkilendirmesi de dahil olmak üzere kapsayıcı meta verilerinin nasıl sağlandığını gösterir:

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

Cihaz Meta Veri Paketlerinden geçiş yapanlar için, çok işlevli yazıcının yukarıdaki örneği için bir Cihaz Meta Veri Paketi'nin nasıl görünebileceği aşağıda gösterilmiştir:

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