Sürücü Paketlerinden Ortak Yükleyicileri Kaldırma

Dikkat

Ocak 2023'den itibaren, ortak yükleyici içeren sürücü paketleri artıkDonanım Geliştirici Merkezi portalı tarafından imzalanmaz. Gereksinimin ayrıntıları için lütfen Windows Donanım Uyumluluk Programı Belirtimleri ve İlkeleri, özellikle sürüm 22H2 ilkeleri bölümüne, Device.DevFund.INF.Declarativebölümüne bakın.

Bu sayfa, ortak yükleyicilerin bir sürücü paketinde mevcut olmasının yaygın nedenlerini ele alır ve ortak yükleyici olmadan aynı görevi gerçekleştirmek için mekanizmalar sunar.

WDF ve WinUSB Ortak yükleyicileri

WDF ortak yükleyicisi ve WinUSB ortak yükleyicisi, Windows 10 ve üzerini çalıştıran herhangi bir sistemde gerekli değildir. WDF ortak yükleyici başvuruları ek çalışma yapılmadan kaldırılabilir. WinUSB birlikte yükleyici referansları kaldırılabilir ve WinUSB'ye, Include ve Needs yönergeleri kullanılarak sürücü paketi INF dosyasından referans verilmelidir.

WinUSB sürücü paketi kılavuzu

Kullanıcı arabirimi sunan yazılımları yükleme

Yükleme sırasında bir uygulama başlatmak yerine, INF sürücü paketinin DDInstall.Software bölümünden AddSoftware yönergesi kullanılarak yüklenen bir Evrensel Windows Platformu uygulaması sağlayın.

Daha fazla bilgi için bkz. Evrensel Windows Platformu (UWP) uygulamasıyla sürücü eşleştirme. AddSoftware yönergesi, Windows'un Windows 10, sürüm 1703 ve sonraki sürümlerinde desteklenir.

Daha fazla bilgi için aşağıda İlişkili Yazılım Yükleme bakınız.

Kullanıcı dostu cihaz adlarını ayarlama

INF Dosyası

Bir sürücü paketi INF'i cihazın kolay ismini aşağıdaki gibi ayarlayabilir:

[DDInstall.HW]
AddReg = FriendlyName_AddReg

[FriendlyName_AddReg]
HKR,,FriendlyName,, "Device Friendly Name"

Çalışma zamanı

Kolay ad, sürücü tarafından "Başlat IRP" veya "PrepareHardware" aşamasında DEVPKEY_Device_FriendlyName özelliğini aşağıdaki API'lerden biriyle ayarlayarak ayarlanabilir.

Diğer cihaz ayarları/yapılandırmaları

Mümkün olduğunda, sürücü Başlat IRP veya PrepareHardware aşaması sırasında sürücüdeki cihaz ayarlarını ve yapılandırmasını değiştirebilir. Çalışma zamanında durumu değiştirirken, sürücüsürücü paketi yalıtım gereksinimlerini izlemelidir. Bu gereksinimler, sürücü yapılandırması ve durum yerleşimiyle ilgili yönergeleri içerir ve sürücünün dış değişikliklere karşı daha dayanıklı hale gelmesine, güncellenmesini ve yüklenmesini daha kolay hâle getirerek geleceğe dayanıklı olmasına yardımcı olur.

Sürücünün kendi içinde ayarlanamayan ayarlar ve yapılandırma için bir sürücü paketi, ayarları ve yapılandırmayı değiştiren kullanıcı modu çalışma zamanı bileşenlerini de içerebilir. Bu, kullanıcıya yönelik bir uygulama veya yapılandırmayı güncelleştiren bir Win32 hizmeti olabilir. Kullanıcı modu yazılımını bir cihazla kullanmak üzere nasıl ekleyebileceğiniz hakkında bilgi için bkz. Bileşen INF Dosyası Kullanma.

Hizmet gibi kalıcı bir bileşen kullanılıyorsa, işlevselliğinin gerekli olduğundan ve bir sürücü paketi INF'sinde veya sürücünün kendisinde olduğu gibi daha az kaynak yoğunluklu bir şekilde gerçekleştirilemeyeceğinden emin olun. Bir hizmetin yalnızca ilgili cihazlar bağlandığında çalıştığından emin olmak için bkz. Hizmet Tetikleyicileri,cihazlarla etkileşim kuran Win32 hizmetlerini ve cihaz arabirimi bildirimlerine kaydolma. Hizmetin, mesela API Doğrulayıcı'i geçmek gibi en yeni gereksinimleri de karşılaması gerekir.

İlişkili Yazılımları Yükleme

DCH sürücü gereksinimlerinin 'Componentized' bölümü, bir cihaz sürücüsünün yüklenmesini ilişkili yazılımından ayırmaya yönelik bir mekanizma olan SoftwareComponent adlı bir kavram getirmiştir. INF tarafından bir yazılım bileşeni oluşturulduğunda, yazılım bileşenine eşleyen bir alt cihazı otomatik olarak oluşturur. Bu alt cihaz, ana cihaza bağlı yazılımı yüklemek amacıyla mevcut olacaktır. Bu yazılım ana cihaz ve sürücüden bağımsız olarak yüklenebilir ve güncelleştirilebilir.

SoftwareComponent sürücü paketi INF içinde, yazılım yüklemek için önerilen mekanizma bir AddSoftware yönergesi kullanmaktır. Bu, Windows Mağazası'ndan yazılım indirme ve yükleme işlemini tetikler.

Sürücüler ve cihazlar arasında bağımlılıklar

Cihaz başlatma/numaralandırma sıralama bağımlılıkları

Mümkün olduğunca, cihazlar arası bağımlılıklardan veya sipariş vermeye başlama gereksinimlerinden kaçınılmalıdır.

ACPI ile numaralandırılan cihazlar için, cihaz başlatma sıralamasını zorlamak amacıyla ACPI üretici yazılımında bağımlılık nesnesi (_DEP) kullanılabilir. Daha fazla bilgi için bkz. Cihaz Yönetimi Ad Alanı.

Sürücüler, kaldırma ilişkileri gibi cihazlar arasındaki ilişkileri tanımlamak için IRP_MN_QUERY_DEVICE_RELATIONS IRP'ye yanıt verebilir. Daha fazla bilgi için bkz. IRP_MN_QUERY_DEVICE_RELATIONS.

Sürücü paketi yükleme bağımlılıkları

CopyInf Yönergesi, başka bir sürücüyle aynı yükleme API çağrısı sırasında ek bir sürücü paketi yüklemek için de kullanılabilir. Yükleme API'sine geçirilen sürücü paketi Herhangi bir CopyInf başvurulu sürücü paketinden önce yüklenir, ancak CopyInf tarafından başvuruda bulunılan sürücü paketlerinin belirli bir sırada yüklenmesi garanti değildir.

Tek sürücü paketinde paketlenmiş birden çok satıcının bileşenlerini yapılandırma

Sürücü paketleri, inf uzantısı olarak adlandırılan bir sürücü paketi INF türünü destekler. Bu, bir "temel" sürücü paketi INF'nin işlevselliğini artırmak ve genişletmek için özel olarak tasarlanmış bir INF dosyasıdır. Uzantı, cihaz için işlev sürücüsünü sağlamayabilir, ancak başka herhangi bir yönerge kullanabilir veya bir cihaz için başka ayarlar yazabilir. Sürücü yüklemesi sırasında, cihaz için işlevselliği sağlamak üzere sürücü derecelendirme kullanılarak tek bir temel sürücü paketi INF seçilir, ardından cihaz için tüm uzantı INF'leri seçilir. Daha fazla bilgi için bkz. Uzantı INF dosyası kullanımı.

Uzantı sürücüsü paketi INF'lerini kullanmak için yaygın bir paradigma, donanım üreticisinin temel sürücü paketi INF'sini sağlaması ve bir OEM'in sistemi içinde o bileşeni entegre ederek, bu sistemi özelleştiren bir uzantı sürücü paketi INF'si oluşturmasıdır.

Üretici yazılımı güncelleştirmelerini yükleme/düzenleme

Güncelleştirilen cihazın niteliğine bağlı olarak farklı üretici yazılımı güncelleştirme mekanizmaları önerilir. Aşağıdakilerin her biri Windows Update aracılığıyla bir üretici yazılımı güncelleştirmesi göndermek ve yüklemek için kullanılabilir.

Çıkarılamaz

UEFI üretici yazılımı güncelleştirme platformu, sistem üretici yazılımı gibi kaldırılamayan bir sistemin bileşenlerini güncelleştirmek için tasarlanmıştır. Daha fazla bilgi için bkz. UEFI Üretici Yazılımı Güncelleştirme Platformu.

Çıkarılabilir

HID veya USB cihazları gibi çıkarılabilir cihazlar için, CFU modeli donanım yazılımının güvenli bir şekilde güncellenmesine olanak tanır. Daha fazla bilgi için bkz. Bileşen Üretici Yazılımı Güncelleştirmesi.

Özel Uygulama

Alternatif olarak, sürücünün takdirine bağlı olarak cihazın üretici yazılımını güncelleştiren özel bir sürücü yazılabilir. Daha fazla bilgi için bkz. Özel Üretici Yazılımı Güncelleştirme Sürücüsü.