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.
Ten artykuł opisuje znane problemy dotyczące zestawu Windows Driver Kit (WDK).
Zestaw WDK dla systemu Windows 11 w wersji 26H1
Testowanie sterowników przy użyciu obsługi programu Visual Studio
Testowanie sterowników w programie Visual Studio jest obsługiwane w programie Visual Studio 2022 w wersji 17.14.23 lub nowszej
Zestaw WDK dla systemu Windows 11 w wersji 24H2
Programowanie sterowników trybu jądra x86
Począwszy od systemu Windows 11 w wersji 24H2, zestaw WDK nie obsługuje już tworzenia sterowników trybu jądra x86. Jeśli masz konieczność tworzenia sterowników trybu jądra x86, użyj zestawu WDK w wersji 23H2
Restartuj po konfiguracji
Po aprowizacji i wdrożeniu maszyna docelowa nie może ponownie uruchomić się po wykonaniu kroków wdrażania.
Obsługa arm64 WDK SxS sterownika
Gdy zarówno zestaw Windows 11, wersja 24H2, jak i zestaw Windows 11, wersja 22H2 są zainstalowane na maszynie ARM64, kompilowanie sterownika trybu jądra (KMDF) dla ARM64 z TargetPlatformVersion ustawionym na Windows 11, wersja 22H2 kończy się niepowodzeniem z WdfDriverEntry.lib(stub.obj) : error LNK2001: unresolved external symbol.
Nie można zainstalować rozszerzenia WDK
Jeśli używasz programu Visual Studio w wersji 17.11.0 lub nowszej, usuń zaznaczenie pola wyboru rozszerzenia instalacji w instalacji zestawu WDK.
Zestaw WDK dla systemu Windows 11 w wersji 22H2
Błąd usługi podczas uruchamiania
Jeśli zainstalowano oryginalny zestaw Windows 11 w wersji 22H2 WDK od maja do sierpnia 2022 r. (wersja 10.0.22621.1), podczas uruchamiania programu Visual Studio przy użyciu zestawu WDK może zostać wyświetlony następujący komunikat o błędzie.
Pakiet Microsoft.Windows.Tools.WinIDE.Debugger.DebuggerPackage, DebuggerPackage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null nie został załadowany poprawnie.
Problem został rozwiązany w wersji WDK 10.0.22621.382. Zestaw WDK można odinstalować, a następnie ponownie zainstalować najnowszy zestaw WDK, korzystając z instrukcji w temacie Pobieranie zestawu sterowników systemu Windows.
Debuger w programie Visual Studio nie działa
Nie można debugować sterowników w interfejsie programu Visual Studio w przypadku korzystania z programu Visual Studio 2022 w wersji 17.2.0 i 17.3 z systemem Windows 11 w wersji 22H2 WDK (10.0.22621.382). Aby obejść ten problem, wykonaj jedną z następujących akcji: zaktualizuj program Visual Studio do wersji 17.4.1 lub nowszej, debuguj przy użyciu narzędzia WinDbg lub użyj wersji programu Visual Studio starszej niż 17.2.0. Następujący komunikat o błędzie jest związany z tym problemem:
Element QueryBuildManagerBusyEx musi być wywoływany w interfejsie użytkownika.
Redystrybucyjne współinstalatory Windows Driver Framework (WDF) nie działają
Instalatory współdystrybucyjne pakietu WDF nie są już obsługiwane. Powoduje to problemy na komputerach z zainstalowanym zestawem windows 11 w wersji 22H2 WDK i starszym zestawem WDK. Podczas próby skompilowania sterownika WDF 1.11 w takim systemie program msbuild kończy się niepowodzeniem. Kompilacja kończy się niepowodzeniem, ponieważ program msbuild nie może odnaleźć współinstalatora WDF.
Aby rozwiązać ten problem, przed zainstalowaniem systemu Windows 11 w wersji 22H2 WDK wykonaj kopię zapasową folderu \Program files (x86)\windows kit\10\redist\wdf i przywróć go później. Alternatywnie, jeśli zainstalowałeś Windows 11, wersja 22H2 WDK, zainstaluj plik MSI w składniki redystrybucyjne WDK 8 na osobnym komputerze i skopiuj folder redist do folderu \Program files (x86)\windows kit\10\redist\wdf. Aby uzyskać więcej informacji, zobacz Redistributable Framework Components (Składniki struktury redystrybucyjnej).
Zestaw WDK dla systemu Windows 10 w wersji 2004
Problem w funkcjach ExAllocatePoolZero, ExAllocatePoolQuotaZero i ExAllocatePoolPriorityZero ZOSTAŁ NAPRAWIONY
W maju 2020 r. OSR wykrył problem z nową obsługą na poziomie down-level na potrzeby automatycznego zerowania alokacji puli. Problem może spowodować, że alokacja nie zostanie zainicjowana zerami w systemach z systemem Windows 10 w wersji 1909. Rozwiązano ten problem z odświeżaniem zabezpieczeń zestawu WDK dla systemu Windows 10 w wersji 2004 i zestawu WDK przedsiębiorstwa (EWDK) dla systemu Windows 10 w wersji 2004 w dniu 16 grudnia. Firma Microsoft skorzystała z odświeżania zabezpieczeń i zaktualizowała zestaw EWDK w celu uwzględnienia narzędzi kompilacji programu Visual Studio 16.7. Firma Microsoft zaleca wszystkim deweloperom sterowników, aby odinstalowali oryginalne zestawy SDK i WDK z wersji 2004 oraz zainstalowali uaktualnione zestawy SDK i WDK lub EWDK.
Aby zapewnić pełne rozwiązanie zabezpieczeń, w listopadzie wydano poprawkę systemu operacyjnego dla systemu Windows 10 w wersji 1909, więc jeśli w listopadzie został utworzony sterownik z problemem z zabezpieczeniami, system operacyjny będzie chroniony.
Oprócz pobrania zaktualizowanego zestawu WDK/EWDK firma Microsoft zaleca, aby wszystkie sterowniki zmieniały wszystkie alokacje jądra, aby używać nowych DDI zerowania puli, które zwracają pamięć zerowaną domyślnie. Zwiększa to bezpieczeństwo i niezawodność sterowników. Aby ułatwić to przejście, firma Microsoft utworzyła regułę statycznego weryfikatora sterowników, która jest dostępna w wersji zapoznawczej Windows 10 WDK w wersji 20236 lub nowszej. Reguła identyfikuje wszystkie wystąpienia w kodzie źródłowym sterownika, w których używane są stare mechanizmy alokacji puli DDI, i zaleca ich zastąpienie nowym, bezpieczniejszym odpowiednikiem DDI. Reguła ma zastosowanie do sterowników opartych na WDM, WDF i NDIS.
Instalowanie zestawu WDK nie umożliwia już ograniczania ryzyka spectre dla wszystkich projektów języka C++, jak pokazano w zestawie WDK 1903
Chociaż instalacja zestawu WDK domyślnie włącza ograniczenie ryzyka Spectre dla wszystkich sterowników, nie włącza ich już dla wszystkich projektów języka C++.
Błąd: "Nie znaleziono WDK odpowiadającego docelowej wersji 10.0.19041.0."
Podczas wybierania opcji [Wersja zestawu Windows SDK] na wartość "10.0 (najnowsza zainstalowana wersja)" z zestawem WDK 10.0.19041.0 powoduje błąd "Zestaw WDK odpowiadający wersji docelowej "10.0.19041.0" nie został znaleziony" nawet wtedy, gdy zainstalowano wersję zestawu SDK.
Obejście: Na stronie właściwości projektu dla sterownika (Właściwości >konfiguracji ogólne) ustaw wartość Wersja zestawu Windows SDK na $(LatestTargetPlatformVersion). Jeśli ta opcja nie jest dostępna do wybrania, wybierz opcję dziedziczą z wartości nadrzędnej lub domyślnej projektu.
Zestawy EWDK i SDV uruchomione na serwerze mają wymagania dotyczące platformy .NET
Uruchomienie weryfikatora sterowników statycznych z zestawu EWDK wymaga programu .NET Framework 4.7.2. W zależności od wersji systemu Windows może być zainstalowana platforma .NET, może być zainstalowana, ale musi być włączona lub może nie być zainstalowana. Aby uzyskać więcej informacji na temat zainstalowanej wersji platformy .NET lub stanu instalacji platformy .NET, zapoznaj się z tematem Wersje i zależności programu .NET Framework.
Generowanie DVL kończy się niepowodzeniem z błędem System.IO.FileNotFoundException
Podczas próby utworzenia dziennika weryfikacji sterownika (DVL) jest wyświetlany następujący błąd:
Unhandled Exception: System.IO.FileNotFoundException.
Could not load file or assembl.
'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
or one of its dependencies.
The system cannot find the file specified.
Ten problem może wystąpić zarówno w środowiskach wiersza polecenia, jak i graficznego interfejsu użytkownika. Ten problem zostanie rozwiązany w przyszłej wersji zestawu WDK i można go zobaczyć w Windows Insider Preview WDK. Niestety nie istnieje obejście dla bieżącej wersji.
SDV nie działa poprawnie w środowisku EWDK, jeśli program VS nie jest zainstalowany
SdV ma zależność od VCRUNTIME140D.dll w ramach programu Visual Studio. W związku z tym uruchomienie zestawu EWDK na maszynie bez zainstalowanego programu VS kończy się niepowodzeniem. Zainstaluj program Visual Studio na maszynie, aby obejść ten problem.
Weryfikator sterownika nie jest włączony/wyłączony podczas korzystania z eksploratora testów zestawu WDK
Weryfikator sterowników nie jest włączony/wyłączony, gdy testy podstawowe urządzenia są uruchamiane przy użyciu Eksploratora testów zestawu WDK.
Obejście: Na komputerze klienckim ręcznie włącz/wyłącz weryfikatora sterowników zgodnie z tymi instrukcjami.
Instalacje WDK Side by Side systemu Windows 10, wersja 2004 i WDK Windows 10, wersja 1903 lub wersja 1803
W przypadku obu wersji zestawów zainstalowanych na tym samym komputerze funkcja wdrażania sterownika nie działa w przypadku starszej wersji.
Obejście: Jeśli wymagana jest funkcja wdrażania sterownika, użyj wersję 1803 na oddzielnej maszynie.
Testy platformy Windows Device Testing Framework (WDTF) są teraz uruchamiane tylko w systemach z wersjami systemu Windows 10 odpowiadającymi wersjom WDK.
W zestawie WDK dla systemu Windows 10 w wersji 1809 wprowadzono zmiany w WDTF, aby wspierać tę wersję systemu. Skutkiem tego jest to, że WDTF nie będzie już działać w starszej wersji systemu operacyjnego. Kontynuuje się zmiana w WDK dla systemu Windows 10 w wersji 2004.
Alternatywa dla testowania na poziomie podrzędnym
Testy WDTF w zestawie WDK dla systemu Windows 10 w wersji 1803 można uruchamiać w poprzednich wersjach systemu Windows.
APIValidator
Na maszynie z architekturą x86, APIValidator nie może działać z plikami binarnymi x64. W przypadku kompilowania sterowników x64 na maszynie x86 należy wyłączyć moduł APIValidator.
Rozwiązanie tymczasowe :
Przejdź do strony właściwości rozwiązania sterownika.
Wybierz pozycję APIValidator, a następnie pozycję Ogólne, a następnie zmień pozycję Run ApiValidator z wartości Tak na Nie.
Zestaw WDK działający na systemach Windows 7 wymaga KB 3033929
Przed zainstalowaniem zestawu WDK w systemach z systemem Windows 7 należy zainstalować program Microsoft Security Advisory 3033929 (KB3033929). KB3033929 można pobrać z Centrum pobierania Microsoft.
Zainstalowanie zestawu WDK generuje błąd programu Visual Studio, że składnik dodatku jest już zainstalowany
Ten komunikat o błędzie można zobaczyć, jeśli zestaw WDK został odinstalowany, ale rozszerzenie sterowników WDK dla programu Visual Studio nie zostało odinstalowane.
Rezolucja: W programie Visual Studio przejdź do menu rozwijanego Rozszerzenie , wybierz pozycję Zarządzaj rozszerzeniami, wybierz zestaw sterowników systemu Windows, a następnie wybierz pozycję Odinstaluj.
Często zadawane pytania
Jak stwierdzić, czy wersje WDK lub EWDK zawierają poprawkę dla zerowania alokacji pamięci w puli?
W obszarze Ustawienia systemowe przejdź do pozycji Dodaj lub Usuń programy, wyszukaj pozycję Windows Driver Kit i zanotuj wersję. Oryginalny zestaw WDK dla systemu Windows 10 w wersji 2004 ma wersję 10.0.19041.1. Odświeżona wersja zestawu WDK to 10.0.19041.685 Dla zestawu EWDK, gdy środowisko EWDK zostanie uruchomione, przyjrzyj się tytułowi okna poleceń. Odświeżona wersja zawiera vb_release_svc_prod1.19041.685. Ponadto podczas przeglądania zmiennych środowiskowych zmienna BuildLab powinna pokazywać vb_release_svc_prod1.19041.685.
Zestaw Sdk (Software Development Kit) systemu Windows został również odświeżony. Czy jest to potrzebne?
Nie, jednak odświeżony zestaw Windows Software Development Kit (SDK) zawiera poprawkę dla onecore.lib, która może być miła. Ponadto zazwyczaj dobrym pomysłem jest utrzymanie synchronizacji wersji zestawu SDK i zestawu WDK.
Jeśli masz już zainstalowany zestaw WDK dla systemu Windows 10 w wersji 2004, czy muszę go odinstalować przed zainstalowaniem odświeżonej wersji?
Zalecamy odinstalowanie oryginalnych wersji zestawów SDK 2004 i WDK oraz zainstalowanie zestawów SDK i WDK z poprawkami bezpieczeństwa. Oznacza to, że jeśli odświeżony zestaw WDK jest zainstalowany na oryginalnym zestawie WDK, odświeżona wersja zastępuje oryginał. Uwaga: W tym scenariuszu "Dodaj lub usuń programy" są wymienione obie wersje.