Udostępnij za pośrednictwem


Przenoszenie INF dla potrzeb zgodności z izolacją pakietu sterowników

Ten artykuł ma być szybkim przewodnikiem, aby pomóc w aktualizacji pliku INF, aby spełnić wymagania dotyczące izolacji pakietów sterowników jako części aktualizacji pakietu sterowników do sterowników systemu Windows. Poniższe sekcje zawierają przykłady niektórych typowych rzeczy, które mogą znajdować się w pliku INF pakietu sterowników z odwołaniami do informacji na temat sposobu aktualizowania tych, które mają być zgodne z izolacją pakietu sterowników. Jeśli pakiet sterowników musi obsługiwać starszy sposób wykonywania czegoś dla starszych wersji systemu operacyjnego, a jednocześnie korzystać z nowego sposobu w nowszych wersjach systemu operacyjnego, zobacz Łączenie rozszerzeń platformy z wersjami systemu operacyjnego, aby dowiedzieć się, jak to osiągnąć w pliku INF.

DestinationDirs nie jest DIRID 13

Jeśli sekcja DestinationDirs określa docelową lokalizację plików, która nie jest DIRID 13, to ten INF nie jest zgodny z izolacją pakietu sterowników. Wszystkie pliki w pakiecie sterowników muszą być uruchamiane z magazynu sterowników, co oznacza, że należy użyć DIRID 13. Może to wymagać aktualizacji w więcej niż tylko sekcji DestinationDirs. Inne operacje wykonywane przez INF odwołujące się do plików załadowanych przez INF mogą również wymagać aktualizacji. Na przykład może być konieczne zaktualizowanie dyrektywy ServiceBinary w sekcji instalacji usługi, do której odwołuje się dyrektywa AddService lub wartość rejestru napisana przez dyrektywę AddReg. Ogólnie rzecz biorąc, uruchamianie z magazynu sterowników jest obsługiwane w systemie Windows 10 1709 i nowszych wersjach systemu Windows, ale niektóre stosy urządzeń mogą nie obsługiwać plików, które podłączają się do tych stosów uruchamianych ze Sklepu Sterowników do późniejszej wersji. Aby uzyskać więcej informacji, odwiedź uruchomione z magazynu sterowników.

Używanie funkcji AddReg do rejestrowania dostawców ETW i kanałów EventLog

Jeśli plik INF używa dyrektywy AddReg do rejestrowania dostawcy usług ETW i kanałów dziennika zdarzeń, to plik INF nie jest zgodny z izolacją pakietów sterowników. Na przykład twój INF może mieć następujące elementy:

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\ExampleProvider/Analytic", "OwningPublisher", 0x0, "{35356277-0b54-43da-b324-671006d74759}"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\ExampleProvider/Analytic", "Enabled", 0x00010001, 1
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\ExampleProvider/Analytic", "Isolation", 0x00010001, 1
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\ExampleProvider/Analytic", "ChannelAccess",0x0, \
"O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x3;;;BO)(A;;0x5;;;SO)(A;;0x1;;;IU)(A;;0x3;;;SU)(A;;0x1;;;S-1-5-3)(A;;0x2;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\ExampleProvider/Analytic", "Type", 0x00010001, 2
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}" , , 0x0, "ExampleProvider"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}", "ResourceFileName", 0x00020000, "%13%\ExampleBinary.sys"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}", "MessageFileName", 0x00020000, "%13%\ExampleBinary.sys"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}\ChannelReferences\0", , 0x0, "ExampleProvider/Analytic"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}\ChannelReferences\0", "Id", 0x00010001, 16
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}\ChannelReferences\0", "Flags", 0x00010001, 0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{35356277-0b54-43da-b324-671006d74759}\ChannelReferences", Count, 0x00010001, 1

Zamiast używać dyrektywy AddReg do rejestrowania dostawców ETW i kanałów EventLog, należy je zarejestrować przy użyciu dyrektywy AddEventProvider z sekcji DDInstall.Events. Na przykład:

[ExampleDDInstall.Events]
AddEventProvider={35356277-0b54-43da-b324-671006d74759}, Example_EVvntProvider_Inst

[Example_EventProvider_Inst]
ProviderName=ExampleProvider
ResourceFile=%13%\ExampleBinary.sys
MessageFile=%13%\ExampleBinary.sys
AddChannel=ExampleProvider/Analytic,0x3,Example_Channel_Inst ; Note that the type of the channel here is different than in the raw AddReg. Please see the AddEventProvider documentation for appropriate values

[Example_Channel_Inst]
Isolation=1
Access="O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x3;;;BO)(A;;0x5;;;SO)(A;;0x1;;;IU)(A;;0x3;;;SU)(A;;0x1;;;S-1-5-3)(A;;0x2;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)"
Enabled=1
Value=16

Używanie dyrektywy AddEventProvider z sekcji DDInstall.Events jest obsługiwane w systemie Windows 10 1809 i nowszych wersjach systemu Windows.

Używanie funkcji AddReg do rejestrowania autologera

Jeśli INF używa dyrektywy AddReg do rejestrowania lub modyfikowania autologera ETW, to INF nie jest zgodny z izolacją pakietu sterowników. Na przykład twój INF może mieć następujące elementy:

HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger, BufferSize, %REG_DWORD%, 0x00000040
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger, GUID, %REG_SZ%, "{6f1373c7-eec8-495c-bfe5-1270336368df}"
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger, Start, %REG_DWORD%, 0x00000001
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger, MaximumBuffers, %REG_DWORD%, 0x00000040
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger, LogFileMode, %REG_DWORD%, 0x400
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger\{35356277-0b54-43da-b324-671006d74759}, EnableLevel, %REG_DWORD%, 0x00000004
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger\{35356277-0b54-43da-b324-671006d74759}, MatchAnyKeyword, %REG_QWORD%, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\ExampleAutoLogger\{35356277-0b54-43da-b324-671006d74759}, Enabled, %REG_DWORD%, 0x00000001

Zamiast używać funkcji AddReg do rejestrowania lub aktualizowania autologera, należy go zarejestrować lub zaktualizować przy użyciu dyrektywy AddAutoLogger lub UpdateAutoLogger z sekcji DDInstall.Events. Na przykład:

[ExampleDDInstall.Events]
AddAutoLogger=ExampleAutoLogger,{6f1373c7-eec8-495c-bfe5-1270336368df},Example_AutoLogger_Inst

[Example_AutoLogger_Inst]
Start=1
BufferSize = 0x40
LogFileMode=0x400
MaximumBuffers=0x40
AddAutoLoggerProvider={35356277-0b54-43da-b324-671006d74759},Example_AutoLoggerProvider_Inst

[Example_AutoLoggerProvider_Inst]
Enabled=1
EnableLevel=0x4
MatchAnyKeyword=0

Używanie dyrektywy AddAutoLogger lub UpdateAutoLogger z sekcji DDInstall.Events jest obsługiwane w systemie Windows 11 i nowszych wersjach.

Dodawanie wpisu do klucza RunOnce za pomocą polecenia AddReg

Jeśli funkcja INF używa dyrektywy AddReg w celu dodania wpisu do klucza RunOnce, funkcja INF nie jest zgodna z izolacją pakietu sterowników. Na przykład twój INF może mieć następujące elementy:

[ExampleDDInstall]
AddReg = Example_Registry

[Example_Registry]
HKLM, Software\Microsoft\Windows\CurrentVersion\RunOnce, ExampleEntry, ,"application.exe"

Nie jest to obsługiwane. Funkcja INF nie powinna modyfikować wpisów rejestru globalnego. Jeśli po zainstalowaniu pakietu sterowników wymagana jest jednorazowa akcja konfiguracji, możesz uruchomić ją, używając dyrektywy AddSoftware w pliku INF składnika . Dotyczy to tylko akcji niekrytycznych. Krytyczne funkcje dla urządzenia lub urządzeń zainstalowanych z tym pakietem sterowników nie powinny zależeć od akcji uruchamianych poza instalacją urządzenia.

Dodawanie wpisu do klucza Run przy użyciu AddReg

Jeśli plik INF używa dyrektywy AddReg w celu dodania wpisu do klucza Run, to plik INF nie jest zgodny z zasadą izolacji pakietu sterownika. Na przykład twój INF może mieć następujące elementy:

[ExampleDDInstall]
AddReg = Example_Registry

[Example_Registry]
HKLM, Software\Microsoft\Windows\CurrentVersion\Run, ExampleEntry, ,"application.exe"

Nie jest to obsługiwane. Funkcja INF nie powinna modyfikować wpisów rejestru globalnego. Jeśli wpis Uruchom ma dodać wartość oprogramowania do systemu, aplikacja powinna być aplikacją Uniwersalnej platformy Windows i być zainstalowaną przy użyciu dyrektywy AddSoftware z sekcji DDInstall.Software. Aby uzyskać więcej informacji, zobacz Powiązanie sterownika z aplikacją Universal Windows Platform (UWP). Jeśli to oprogramowanie jest usługą, która nie musi prezentować żadnego interfejsu użytkownika, można zarejestrować usługę Win32 z pakietu sterowników za pomocą dyrektywy AddService . Podczas rejestrowania usługi skojarzonej z urządzeniem usługa powinna być uruchomiona tylko wtedy, gdy urządzenie jest obecne. Usługa powinna mieć typ uruchamiania "na żądanie" i powinna używać dyrektywy AddTrigger z sekcji instalacji usługi do skonfigurowania wyzwalaczy, które spowodują uruchomienie usługi, gdy urządzenie jest obecne w systemie. W tym celu należy zidentyfikować interfejs urządzenia, który sterownik na urządzeniu uwidoczni i użyje dyrektywy AddTrigger, aby określić, że usługa powinna zostać uruchomiona po wyświetleniu tego sprzętu. Podczas działania usługa powinna monitorować zniknięcie urządzenia. Jeśli urządzenie zostanie usunięte z systemu, aby usługa nie musiała kontynuować działania, usługa powinna się zatrzymać. Aby zarejestrować się w celu uzyskania powiadomień o nadejściu i usunięciu interfejsu urządzenia, zobacz CM_Register_Notification.

Używanie plików CopyFiles do dodawania plików do katalogów "Program Files"

Jeśli funkcja INF używa dyrektywy CopyFiles do dodawania plików do katalogów "Program Files", funkcja INF nie jest zgodna z izolacją pakietu sterowników. Obejmuje to, ale nie tylko, użycie DIRIDs 16422, 16426, 16427 i 16428. Na przykład, Twój INF może zawierać następujące elementy:

[DestinationDirs]
Example_CopyFiles = 16422, Contoso

[ExampleDDInstall]
CopyFiles = Example_CopyFiles

[Example_CopyFiles]
ExampleFile.exe

Nie jest to obsługiwane. InF nie powinien kopiować plików do lokalizacji globalnych. Katalogi "Program Files" są zwykle używane do instalowania aplikacji oprogramowania, a nie sterowników. Jeśli Twoim celem jest skompilowanie i dostarczenie aplikacji towarzyszącej dla urządzenia, które komunikuje się ze sterownikiem, zapoznaj się ze wskazówkami dotyczącymi aplikacji wsparcia sprzętowego . Na przykład aplikacja może być aplikacją platformy uniwersalnej systemu Windows i zainstalowaną przy użyciu dyrektywy AddSoftware z sekcji DDInstall.Software. Aby uzyskać więcej informacji, zobacz Parowanie sterownika z aplikacją platformy uniwersalnej systemu Windows (UWP). Jeśli wpis CopyFiles nie ma dodawać aplikacji towarzyszącej do systemu, a pliki powinny pozostać w ramach pakietu sterowników, muszą zostać wykonane jako "uruchomić z magazynu sterowników".

CoInstaller, który uruchamia interfejs użytkownika

Jeśli funkcja INF używa programu CoInstaller do zainstalowania aplikacji, z którą użytkownik powinien korzystać, funkcja INF nie jest zgodna z izolacją pakietu sterowników. Na przykład INF może zarejestrować CoInstallera w taki sposób:

[ExampleDDInstall.CoInstallers]
CopyFiles = CoInstallerCopyFilesSection
AddReg = Example_CoInstallers_AddReg

[CoInstallerCopyFilesSection]
ExampleCoInstall.dll

[Example_CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"ExampleCoInstall.dll,ExampleCoInstallEntryPoint"

Aby uzyskać informacje na temat sposobu obsługi tej sytuacji, zobacz Usuwanie współinstalatorów z pakietów sterowników.

Używanie AddReg do modyfikowania usługi, która nie jest dodawana przez plik INF

Jeśli funkcja INF używa dyrektywy AddReg w celu zmodyfikowania stanu usługi, która nie jest dodawana przez dyrektywę AddService w inf, funkcja INF nie jest zgodna z izolacją pakietu sterowników. Na przykład twój inf może mieć następujące elementy:

[ExampleDDInstall]
AddReg = Example_Registry

[Example_Registry]
HKLM,SYSTEM\CurrentControlSet\Services\ServiceNotCreatedByThisInf\ExampleKey, ExampleValue, %REG_DWORD%, 1

Nie jest to obsługiwane. INF powinien zmieniać ustawienia tylko w usługach utworzonych przez ten INF, a INF powinien usunąć ten wpis AddReg.

Używanie metody AddReg do modyfikowania stanu wewnętrznego usługi

Jeśli funkcja INF używa dyrektywy AddReg do modyfikowania stanu usługi wewnętrznej, funkcja INF nie jest zgodna z izolacją pakietu sterowników. Stan usługi wewnętrznej to stan usługi zarządzanej przez program Service Control Manager. Obejmuje to między innymi następujące elementy:

  • Nazwa wyświetlana
  • Opis
  • Ścieżka obrazu
  • Typ
  • Typ rozpoczęcia
  • Kontrolka błędów
  • Grupa kolejności ładowania
  • Zależności
  • Informacje o zabezpieczeniach
  • Wymagane uprawnienia
  • Typ identyfikatora SID
  • Ustawienie opóźnionego automatycznego uruchamiania
  • Wyzwalaczy
  • Działania w przypadku niepowodzeń
  • Flagi startowe

Na przykład twój INF może mieć następujące elementy:

[ExampleDDInstall.Services]
AddService = ExampleService,0,Example_Service_Inst

[Example_Service_Inst]
DisplayName   = %SvcDesc%
ServiceType   = %SERVICE_WIN32_OWN_PROCESS%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %13%\ExampleService.exe
AddReg = Example_Service_Registry

[Example_Service_Registry]
HKR,TriggerInfo\0,Type,0x00010001,0x01
HKR,TriggerInfo\0,Action,0x00010001,0x01
HKR,TriggerInfo\0,Guid,0x00000001,2D,DF,41,BD,DD,AD,C9,4F,A1,94,B9,88,1D,2A,2E,FA
HKR,,ServiceSidType,0x00010001,0x01

Aby być zgodne z izolacją pakietu sterowników, należy użyć wbudowanych dyrektyw INF do określenia tego stanu zgodnie z opisem w dyrektywy AddService.

Używanie metody AddReg do modyfikowania stanu w katalogu głównym usługi

Jeśli funkcja INF używa dyrektywy AddReg do tworzenia kluczy lub wartości w katalogu głównym stanu usługi, funkcja INF nie jest zgodna z izolacją pakietu sterowników. Na przykład twoje INF może mieć następujące elementy:

[ExampleDDInstall.Services]
AddService = ExampleService,0x2,Example_Service_Inst

[Example_Service_Inst]
DisplayName   = %SvcDesc%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %13%\ExampleBinary.sys
AddReg = Example_Service_Registry

[Example_Service_Registry]
HKR,,ExampleValue,%REG_DWORD%,0x00000040
HKR,CustomSubkey,ExampleValue,%REG_DWORD%,0x00000040

Aby spełniać wymagania dotyczące izolacji pakietu sterownika, dyrektywa AddReg dostarczająca klucze rejestru usługi i wartości może modyfikować tylko klucze i wartości w podkluczu Parametry związane z usługą.

Jeśli INF tworzy lub modyfikuje inny stan w katalogu głównym usługi, konieczne jest przeniesienie ustawień do podklucza Parameters usługi. Podklucz Parameters można uzyskać w czasie wykonania za pomocą IoOpenDriverRegistryKey, używając typu RegKeyType jako DriverRegKeyParameters. Funkcja IoOpenDriverRegistryKey jest obsługiwana w systemie Windows 10 1803 i nowszych wersjach systemu Windows.

Rejestrowanie obiektu APO przy użyciu protokołu HKCR AddReg

Jeśli funkcja INF używa dyrektywy AddReg z katalogiem głównym rejestru HKCR w celu zarejestrowania obiektu przetwarzania audio (APO), funkcja INF nie jest zgodna z izolacją pakietu sterowników. Na przykład twój INF może mieć następujące elementy:

HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "FriendlyName", , %APO_FriendlyName%
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "Copyright", , %MfgName%
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MajorVersion", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MinorVersion", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "Flags", 0x00010001, 0x0000000d
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MinInputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MaxInputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MinOutputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MaxOutputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "MaxInstances", 0x00010001, 0xffffffff
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "NumAPOInterfaces", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%EXAMPLE_CLSID%, "APOInterface0", , "{b0a50980-ded6-4f45-84cb-19d2d1245f6d}"

Zamiast tego informacje o rejestracji APO powinny znajdować się w sekcji, na którą wskazuje dyrektywa AddReg z sekcji DDInstall. Katalog główny rejestru HKCR powinien zostać zmieniony na katalog główny rejestru HKR, aby umieścić ustawienia względem lokalizacji stanu rejestru "oprogramowanie" (nazywane również "sterownikiem"). Aby uzyskać więcej informacji, zobacz Rejestrowanie obiektów APOs na potrzeby trybów przetwarzania i efektów w pliku INF.

Wersja sterownika UMDF jest mniejsza niż 2

Jeśli pakiet sterowników zawiera sterownik wykorzystujący User-Mode Driver Framework (UMDF) w wersji wcześniejszej niż 2, nie jest zgodny z "Sterownikami systemu Windows". Aby uzyskać więcej informacji na temat przenoszenia sterownika UMDF do nowszej wersji UMDF, zobacz Przenoszenie sterownika z UMDF 1 do UMDF 2.

Wykorzystanie AddReg do dodawania górnego lub dolnego filtra do stosu urządzenia

Jeśli funkcja INF używa dyrektywy AddReg w celu dodania górnego lub dolnego filtru do stosu urządzenia, funkcja INF nie jest zgodna z izolacją pakietu sterowników. Na przykład twoje INF może mieć następujące elementy:

[ExampleDDInstall.HW]
AddReg = FilterAddReg

[FilterAddReg]
HKR,,"UpperFilters",0x00010000,"ExampleFilterDriver" ; REG_MULTI_SZ value

Zamiast tego należy dodać filtr do stosu urządzenia przy użyciu dyrektywy AddFilter. Na przykład:

[ExampleDDInstall.Filters]
AddFilter = ExampleFilterDriver,, ExampleFilterSection

[ExampleFilterSection]
FilterPosition = Upper

Aby uzyskać więcej informacji na temat dodawania filtrów urządzeń, zobacz sekcję "Porządkowanie sterowników filtrów urządzeń".

Używanie funkcji AddReg do rejestrowania wartości nazwy kategorii multimediów

Jeśli plik INF używa dyrektywy AddReg do zarejestrowania wartości nazwy kategorii multimediów, to ten plik INF nie jest zgodny z izolacją pakietu sterowników. Na przykład twój INF może mieć następujące elementy:

[ExampleDDInstall]
AddReg=MediaCategoryRegistration

[MediaCategoryRegistration]
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%ExampleGuid%,Name,,%ExampleName%

Zamiast używać funkcji AddReg do rejestrowania nazwy kategorii multimediów w globalnej lokalizacji rejestru, należy je zarejestrować w stanie względnym urządzenia przy użyciu HKR AddReg z sekcji DDInstall. Na przykład:

[ExampleDDInstall]
AddReg=MediaCategoryRegistration

[MediaCategoryRegistration]
HKR,MediaCategories\%ExampleGuid%,Name,,%ExampleName%

Używanie stanu względnego urządzenia do rejestrowania nazw kategorii multimediów jest obsługiwane w systemie Windows 10 w wersji 1809 i nowszych wersjach systemu Windows. Aby uzyskać więcej informacji, zobacz Przyjazne nazwy dla urządzeń punktu końcowego audio.

Używanie funkcji AddReg do rejestrowania wartości wyświetlania kategorii multimediów

Jeśli plik INF używa dyrektywy AddReg w celu zarejestrowania wartości kategorii multimediów wyświetlacza, to plik INF nie jest zgodny z zasadami izolacji pakietu sterowników. Na przykład twój INF może zawierać następujące elementy:

[ExampleDDInstall]
AddReg=MediaCategoryRegistration

[MediaCategoryRegistration]
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%ExampleGuid%,Display,1,00,00,00,00

Ta wartość nie jest używana i powinna zostać usunięta z INF.

Używanie metody AddReg do rejestrowania wartości DmaSecurity\AllowedBuses

Jeśli plik INF używa dyrektywy AddReg do określenia wartości w kluczu rejestru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DmaSecurity\AllowedBuses, to plik INF nie jest zgodny z izolacją pakietu sterowników. Na przykład twój INF może mieć następujące elementy:

[ExampleDDInstall]
AddReg=DmaSecurityRegistration

[DmaSecurityRegistration]
HKLM,SYSTEM\CurrentControlSet\Control\DmaSecurity\AllowedBuses,"Example Friendly Name Description",0,PCI\VEN_ABCD&DEV_0123

Począwszy od systemu Windows 11, wersja 24H2, ta wartość nie jest używana i powinna zostać usunięta z INF. Aby uzyskać więcej informacji, zobacz wymagania sprzętowe dotyczące automatycznego szyfrowania urządzeń za pomocą funkcji BitLocker.