Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ostrożność
Począwszy od stycznia 2023 r., pakiety sterowników zawierające współinstalatora nie są już podpisane przez portal Hardware Developer Center. Aby uzyskać szczegółowe informacje o wymaganiach, zobacz Specyfikacje i zasady zgodności sprzętu systemu Windows, szczególnie zasady wersji 22H2, sekcja Device.DevFund.INF.Declarative.
Ta strona dotyczy typowych przyczyn obecności współinstalatorów w pakiecie sterowników i oferuje mechanizmy wykonywania tego samego zadania bez współinstalatora.
Współinstalatorzy usług WDF i WinUSB
Współinstalator WDF i współinstalator WinUSB nie są wymagane w żadnym systemie z systemem Windows 10 i nowszym. Odwołania do współinstalatora WDF można usunąć bez dodatkowej pracy. Odwołania do współinstalatora WinUSB można usunąć, a WinUSB należy umieścić w pliku INF pakietu sterownika przy użyciu dyrektyw Include i Needs.
wskazówki dotyczące pakietu sterowników WinUSB
Instalowanie oprogramowania, które prezentuje interfejs użytkownika
Zamiast uruchamiać aplikację podczas instalacji, podaj aplikację platformy uniwersalnej systemu Windows zainstalowaną przy użyciu dyrektywy AddSoftware z sekcji DDInstall.Software pakietu sterowników INF.
Aby uzyskać więcej informacji, zobacz Parowanie sterownika z aplikacją Uniwersalnej Platformy Windows (UWP). dyrektywy AddSoftware są obsługiwane w systemie Windows 10, wersja 1703, oraz w nowszych wersjach systemu Windows.
Aby uzyskać dodatkowe informacje, zobacz Instalowanie skojarzonego oprogramowania poniżej.
Ustawianie przyjaznych nazw urządzeń
Plik INF
Pakiet sterowników INF może ustawić przyjazną nazwę urządzenia w następujący sposób:
[DDInstall.HW]
AddReg = FriendlyName_AddReg
[FriendlyName_AddReg]
HKR,,FriendlyName,, "Device Friendly Name"
Czas wykonywania
Przyjazną nazwę można ustawić przez sterownik podczas fazy Start IRP lub PrepareHardware, ustawiając właściwość DEVPKEY_Device_FriendlyName przy użyciu jednego z następujących interfejsów API:
- IoSetDevicePropertyData
- WdfAssignProperty
Inne ustawienia/konfiguracje urządzeń
Jeśli to możliwe, sterownik może zmienić ustawienia i konfigurację urządzenia w start IRP lub PrepareHardware fazie. Podczas modyfikowania stanu w czasie wykonywania sterownik powinien przestrzegać wymagań dotyczących izolacji pakietów sterowników . Te wymagania zawierają wskazówki dotyczące konfiguracji sterowników i układu stanu oraz pomagają zabezpieczyć przyszłość sterownika przez uczynienie go bardziej odpornym na zmiany zewnętrzne, łatwiejszego do aktualizacji i prostszego w instalacji.
W przypadku ustawień i konfiguracji, których nie można ustawić w samym sterowniku, pakiet sterowników może również zawierać składniki środowiska uruchomieniowego trybu użytkownika, które zmieniają ustawienia i konfigurację. Może to być aplikacja dla użytkownika lub usługa Win32, która aktualizuje konfigurację. Aby uzyskać informacje na temat dołączania oprogramowania w trybie użytkownika do użytku z urządzeniem, zobacz Using a Component INF File.
Jeśli jest używany składnik trwały, taki jak usługa, upewnij się, że jej funkcjonalność jest niezbędna i nie może być wykonywana w mniej intensywnie obciążający zasoby sposób, na przykład w pakiecie sterowników INF lub w samym sterowniku. Aby uzyskać informacje na temat sposobu, w jaki usługa działa tylko wtedy, gdy są połączone odpowiednie urządzenia, zobacz Service Triggers, usługi Win32 współdziałające z urządzeniamii Rejestrowanie powiadomień interfejsu urządzenia. Usługa musi również spełniać najnowsze wymagania, na przykład przekazywanie modułu sprawdzania poprawności interfejsu API .
Instalowanie skojarzonego oprogramowania
Skomponentaryzowana część wymagań dla sterowników DCH wprowadziła koncepcję o nazwie SoftwareComponent, która jest mechanizmem oddzielającym instalację sterownika urządzenia od skojarzonego oprogramowania. Po utworzeniu komponentu oprogramowania przez INF, automatycznie zostanie utworzone urządzenie podrzędne mapowane na ten komponent. To urządzenie podrzędne będzie istnieć w celu zainstalowania oprogramowania skojarzonego z urządzeniem nadrzędnym. To oprogramowanie można instalować i aktualizować niezależnie od głównego urządzenia i sterownika.
W pakiecie sterowników SoftwareComponent INF zalecany mechanizm instalowania oprogramowania korzysta z dyrektywy AddSoftware. Spowoduje to rozpoczęcie pobierania i instalacji oprogramowania z Microsoft Store.
- Komponent oprogramowania
- DodajOprogramowanie
- Przykładowy pakiet sterowników DCH
- Parowanie sterownika z aplikacją UWP
Zależności między sterownikami i urządzeniami
Zależności dotyczące kolejności uruchamiania/wyliczania urządzeń
W miarę możliwości należy unikać zależności między urządzeniami lub wymagań dotyczących kolejności uruchamiania.
W przypadku urządzeń wyliczanych przez ACPI obiekt zależności (_DEP) może być używany w oprogramowaniu układowym ACPI do wymuszania kolejności uruchamiania urządzeń. Aby uzyskać więcej informacji, zobacz Przestrzeń nazw zarządzania urządzeniami.
Sterowniki mogą reagować na IRP_MN_QUERY_DEVICE_RELATIONS IRP, aby definiować relacje między urządzeniami, takie jak relacje związane z usuwaniem. Aby uzyskać więcej informacji, zobacz IRP_MN_QUERY_DEVICE_RELATIONS.
Zależności instalacji pakietu sterowników
Dyrektywy CopyInf można użyć, aby zainstalować dodatkowy pakiet sterowników podczas tego samego wywołania interfejsu API instalacji, co równocześnie instalowany inny sterownik. Pakiet sterowników przekazany do interfejsu API instalacji zostanie zainstalowany przed wszystkimi pakietami sterowników, do których odnosi się CopyInf. Pakiety sterowników referencjonowane przez CopyInf nie mają gwarancji, że zostaną zainstalowane w określonej kolejności.
Konfigurowanie składników od wielu dostawców dołączonych do pojedynczego pakietu sterowników
Pakiety sterowników obsługują typ INF pakietu sterowników o nazwie INF rozszerzenia. Jest to plik INF przeznaczony specjalnie do zwiększania i rozszerzania funkcjonalności podstawowego pakietu sterowników INF. Rozszerzenie może nie podać sterownika funkcji dla urządzenia, ale może w inny sposób użyć innych dyrektyw lub zapisać inne ustawienia dla urządzenia. Podczas instalacji sterownika wybierany jest pojedynczy podstawowy pakiet sterowników INF przy użyciu klasyfikacji sterowników w celu zapewnienia funkcjonalności urządzenia, a następnie wszystkie rozszerzenia INF są wybrane dla urządzenia. Aby uzyskać więcej informacji, zobacz Używanie pliku INF rozszerzenia.
Typowym paradygmatem wykorzystywania pakietów sterowników rozszerzeń INF jest sytuacja, w której producent sprzętu dostarcza podstawowy pakiet sterowników INF, a OEM, który montuje tę część wewnątrz systemu, tworzy pakiet sterowników rozszerzenia INF dostosowujący go do tego systemu.
Instalowanie/organizowanie aktualizacji oprogramowania układowego
W zależności od charakteru aktualizowanego urządzenia zalecane są różne mechanizmy aktualizacji oprogramowania układowego. Każdy z poniższych elementów może służyć do dostarczania i instalowania aktualizacji oprogramowania układowego za pośrednictwem usługi Windows Update.
Niewymienne
Platforma aktualizacji oprogramowania układowego UEFI jest przeznaczona do aktualizowania składników systemu, których nie można usunąć, takich jak oprogramowanie układowe systemu. Aby uzyskać więcej informacji, zobacz platformę aktualizacji oprogramowania układowego UEFI .
Wyjmowany
W przypadku urządzeń wymiennych, takich jak urządzenia HID lub USB, model CFU umożliwia bezpieczne aktualizacje oprogramowania układowego. Aby uzyskać więcej informacji, zobacz Component Firmware Update.
Implementacja niestandardowa
Alternatywnie można napisać sterownik niestandardowy, który aktualizuje oprogramowanie układowe urządzenia według uznania sterownika. Aby uzyskać więcej informacji, zobacz niestandardowy sterownik aktualizacji oprogramowania układowego.