Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden bekannte Probleme im Zusammenhang mit dem WDK beschrieben.
WDK für Windows 11, Version 26H1
Treibertests mit Visual Studio-Unterstützung
Treibertests in Visual Studio werden ab Visual Studio 2022, Version 17.14.23 und höher, unterstützt.
WDK für Windows 11, Version 24H2
Entwicklung des x86-Kernelmodustreibers
Ab Windows 11, Version 24H2, unterstützt der WDK die x86-Kernelmodustreiberentwicklung nicht mehr. Wenn Sie ein geschäftliches Bedürfnis haben, x86-Kernelmodustreiber zu entwickeln, verwenden Sie WDK Version 23H2.
Neustart nach der Bereitstellung
Nach der Bereitstellung kann der Zielcomputer nicht neu gestartet werden.
ARM64 WDK-Treiber-SxS-Support
Wenn sowohl das Windows 11, Version 24H2-Kit als auch das Windows 11, Version 22H2-Kit auf einer ARM64-Maschine installiert sind, schlägt die Erstellung eines Kernel Mode Driver Framework (KMDF)-Treibers für ARM64 mit TargetPlatformVersion set to Windows 11, version 22H2 fails with WdfDriverEntry.lib(stub.obj) : error LNK2001: unresolved external symbol.
WDK-Erweiterung kann nicht installiert werden
Wenn Sie Visual Studio, Version 17.11.0 oder höher, verwenden, deaktivieren Sie das Kontrollkästchen "Erweiterung installieren" in der WDK-Installation.
WDK für Windows 11, Version 22H2
Dienst-Fehler beim Starten
Wenn Sie das ursprüngliche Windows 11, Version 22H2 WDK zwischen Mai und August 2022 (Version 10.0.22621.1) installiert haben, wird möglicherweise die folgende Fehlermeldung angezeigt, wenn Sie Visual Studio mit dem WDK starten.
Das Microsoft.Windows.Tools.WinIDE.Debugger.DebuggerPackage, DebuggerPackage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null Paket wurde nicht ordnungsgemäß geladen.
Dieses Problem ist in der WDK-Version 10.0.22621.382 behoben. Sie können das WDK deinstallieren und dann das neueste WDK neu installieren, indem Sie die Anweisungen in Windows Driver Kit herunterladen befolgen.
Debugger in Visual Studio funktioniert nicht
Bei Verwendung von Visual Studio 2022, Version 17.2.0 und 17.3 mit Windows 11, Version 22H2 WDK (10.0.22621.382), ist es nicht möglich, Treiber innerhalb der Visual Studio-Schnittstelle zu debuggen. Führen Sie zum Umgehen des Problems eine der folgenden Aktionen aus: Aktualisieren Sie Visual Studio auf 17.4.1 oder höher, debuggen Sie mit WinDbg, oder verwenden Sie eine Version von Visual Studio vor 17.2.0. Die folgende Fehlermeldung bezieht sich auf dieses Problem:
QueryBuildManagerBusyEx muss auf der Benutzeroberfläche aufgerufen werden.
Die gemeinsam installierbaren Komponenten des Windows-Treiberframeworks (WDF) funktionieren nicht
WDF Redistributable Co-Installer werden nicht mehr unterstützt. Dies führt zu Problemen auf Computern mit windows 11, Version 22H2 WDK und einem älteren WDK. Wenn Sie versuchen, einen WDF 1.11-Treiber für ein solches System zu erstellen, schlägt msbuild fehl. Der Build schlägt fehl, da msbuild den WDF Co-Installer nicht finden kann.
Um dieses Problem zu beheben, sichern Sie vor der Installation von Windows 11, Version 22H2 WDK, den Ordner \Program files (x86)\windows kit\10\redist\wdf und stellen Sie ihn anschließend wieder her. Wenn Sie auch Windows 11, Version 22H2 WDK, installiert haben, installieren Sie die MSI-Datei unter WDK 8 redistributable components auf einem separaten Computer und kopieren Sie den Ordner redist in den Ordner \Program files (x86)\windows kit\10\redist\wdf. Weitere Informationen finden Sie unter Wiederverteilbare Framework-Komponenten.
WDK für Windows 10, Version 2004
Problem in den Funktionen ExAllocatePoolZero, ExAllocatePoolQuotaZero und ExAllocatePoolPriorityZero FIXED
Im Mai 2020 hat osR ein Problem mit der neuen Unterstützung auf unterer Ebene für die automatische Nullierung von Poolzuweisungen entdeckt. Das Problem könnte dazu führen, dass ein Speicherbereich auf Systemen mit Windows 10, Version 1909, nicht auf null initialisiert wird. Dies wurde mit einer Sicherheitsaktualisierung von WDK für Windows 10, Version 2004 und dem Enterprise WDK (EWDK) für Windows 10, Version 2004, am 16. Dezember behoben. Microsoft nutzte die Sicherheitsaktualisierung und aktualisierte das EWDK, um die Visual Studio Build-Tools 16.7 einzubinden. Microsoft empfiehlt allen Entwickler*innen von Treibern, das ursprüngliche SDK und WDK (Version 2004) zu deinstallieren und das aktualisierte SDK und WDK oder EWDK zu installieren.
Um sicherzustellen, dass eine vollständige Sicherheitslösung vorhanden ist, wurde im November ein Betriebssystem-Fix für Windows 10, Version 1909, veröffentlicht, sodass das Betriebssystem geschützt ist, wenn ein Treiber mit dem Sicherheitsproblem erstellt wird.
Zusätzlich zum Herunterladen des aktualisierten WDK/EWDK empfiehlt Microsoft, dass alle Treiber alle Kernel-Allokationen so umstellen, dass sie die neuen DDIs für den Pool verwenden, die standardmäßig nullierten Speicher zurückliefern. Dies erhöht die Sicherheit und Zuverlässigkeit des Treibers. Um diesen Übergang zu unterstützen, hat Microsoft eine Regel für die Überprüfung statischer Treiber erstellt, die in der Vorschau von Windows 10 WDK-Versionen 20236 und höher verfügbar ist. Die Regel identifiziert alle Instanzen im Quellcode eines Treibers, in denen die alten Poolzuordnungs-DDIs verwendet werden, und empfiehlt, sie durch die neue, sicherere DDI zu ersetzen. Die Regel gilt für WDM-, WDF- und NDIS-basierte Treiber.
Die Installation des WDK aktiviert nicht mehr die Behebung von Spectre-Problemen für alle C++ Projekte, wie in WDK 1903 beschrieben
Während die WDK-Installation die Spectre-Entschärfung standardmäßig für alle Treiber aktiviert, werden sie nicht mehr für alle C++-Projekte aktiviert.
Fehler: 'Ein WDK für das Ziel '10.0.19041.0' wurde nicht gefunden.'
Wenn Sie [Windows SDK-Version] auf '10.0 (neueste installierte Version)' in Verbindung mit WDK 10.0.19041.0 auswählen, tritt der Fehler "Ein WDK, das der Zielversion '10.0.19041.0' entspricht, wurde nicht gefunden" auf, obwohl die SDK-Version installiert ist.
Workaround: In properties page für the driver project (Configuration Properties >General) set Windows SDK Version to $(LatestTargetPlatformVersion). Wenn diese Option nicht zur Verfügung steht, wählen Sie die Option Von übergeordnetem oder Projektstandard erben.
EWDK und SDV, die auf einem Server ausgeführt werden, haben .NET-Anforderungen
Zum Ausführen der Überprüfung statischer Treiber aus dem EWDK ist .NET Framework 4.7.2 erforderlich. Abhängig von der Version von Windows auf Ihrem System ist .NET möglicherweise installiert, kann installiert sein, muss aber aktiviert sein oder nicht installiert werden. Weitere Informationen dazu, welche Version von .NET installiert ist oder den Status der .NET-Installation, finden Sie unter .NET Framework-Versionen und -Abhängigkeiten.
DVL-Erstellung schlägt mit System.IO.FileNotFoundException fehl
Beim Versuch, ein Treiberüberprüfungsprotokoll (Driver Verification Log, DVL) zu erstellen, wird der folgende Fehler angezeigt:
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.
Dieses Problem kann sowohl in der Befehlszeile als auch in der GUI-Umgebung auftreten. Dieses Problem wird in einer zukünftigen Version des WDK behoben und ist in der Windows Insider Vorschau WDK zu sehen. Leider gibt es für die aktuelle Version keine Abhilfe.
SDV schlägt im EWDK fehl, wenn VS nicht installiert ist
SDV hat eine Abhängigkeit von VCRUNTIME140D.dll als Teil von Visual Studio. Daher schlägt die Ausführung des EWDK auf einem Computer ohne installation von VS fehl. Installieren Sie Visual Studio auf dem Computer, um dieses Problem zu beheben.
Die Treiberüberprüfung wird bei Verwendung des WDK-Test-Explorers nicht aktiviert/deaktiviert.
Die Treiberüberprüfung wird nicht aktiviert/deaktiviert, wenn grundlegende Gerätetests mit dem WDK-Test-Explorer ausgeführt werden.
Problemumgehung: Aktivieren/deaktivieren Sie auf dem Clientcomputer die Treiberüberprüfung manuell gemäß diesen Anweisungen.
WDK Side-by-Side-Installationen von Windows 10, Version 2004, und WDK Windows 10, Version 1903 oder Version 1803
Wenn beide Versionen von Kits auf demselben PC installiert sind, funktioniert das Feature "Treiber bereitstellen " für die ältere Version nicht.
Problemumgehung: Verwenden Sie 1803 auf einem separaten Computer, wenn die Treiberbereitstellung erforderlich ist.
Die Tests des Windows Device Testing Framework (WDTF) werden jetzt nur noch auf Systemen ausgeführt, deren Versionen mit denen des WDK für Windows 10 übereinstimmen.
Im WDK für Windows 10, Version 1809, wurden Änderungen an WDTF vorgenommen, um diese Version von Windows 10, Version 1809, zu unterstützen. Dies hat zur Folge, dass WDTF nicht mehr auf Betriebssystemen mit niedrigerem Niveau ausgeführt wird. Die Änderung wird mit dem WDK für Windows 10, Version 2004, fortgesetzt.
Alternative für Down-Level-Tests
Die WDTF-Tests im WDK für Windows 10, Version 1803 können auch auf früheren Windows-Versionen ausgeführt werden.
APIValidator
Auf einem x86 Arch-Computer kann APIValidator nicht für x64-Binärdateien ausgeführt werden. Wenn Sie x64-Treiber auf einem x86-Computer erstellen, sollte APIValidator deaktiviert werden.
Workaround:
Rufen Sie die Seite Eigenschaften der Treiberlösung auf.
Wählen Sie APIValidator, dann Allgemein und ändern Sie ApiValidator ausführen von Ja auf Nein.
Wenn Sie das WDK auf Windows 7 Systemen ausführen, benötigen Sie KB 3033929
Sie müssen microsoft Security Advisory 3033929 (KB3033929) installieren, bevor Sie das WDK auf Systemen unter Windows 7 installieren. KB3033929 kann aus dem Microsoft Download Center heruntergeladen werden.
Die Installation des WDK erzeugt eine Fehlermeldung von Visual Studio, dass die Add-In-Komponente bereits installiert ist
Diese Fehlermeldung kann angezeigt werden, wenn der WDK deinstalliert wurde, die WDK-Treibererweiterung für Visual Studio jedoch nicht deinstalliert wurde.
Auflösung: Wechseln Sie in Visual Studio zum Dropdownmenü " Erweiterung ", wählen Sie " Erweiterungen verwalten", wählen Sie das Windows Driver Kit und dann " Deinstallieren" aus.
Häufig gestellte Fragen
Wie kann ich feststellen, ob die WDK- oder EWDK-Versionen, die ich habe, den Fix für die Nullsetzung von Pool-Zuweisungen enthalten?
Gehen Sie in Systemeinstellungen zu Programme hinzufügen oder entfernen, suchen Sie nach Windows Driver Kit, und notieren Sie die Version. Das ursprüngliche WDK für Windows 10, Version 2004, verfügt über eine Version von 10.0.19041.1. Die aktualisierte WDK-Version ist 10.0.19041.685 Für ewDK sehen Sie sich nach dem Start der EWDK-Umgebung den Titel des Befehlsfensters an. Die aktualisierte Version enthält vb_release_svc_prod1.19041.685. Wenn Sie sich außerdem die Umgebungsvariablen ansehen, sollte die Variable BuildLabvb_release_svc_prod1.19041.685 anzeigen.
Das Windows Software Development Kit (SDK) wurde ebenfalls aktualisiert, ist dies erforderlich?
Nein, das aktualisierte Windows Software Development Kit (SDK) enthält jedoch einen Fix für onecore.lib, der möglicherweise gut zu haben ist. Außerdem ist es in der Regel ratsam, das SDK und WDK synchronisiert zu halten.
Wenn ich bereits das WDK für Windows 10, Version 2004 installiert habe, muss ich es dann deinstallieren, bevor ich die aktualisierte Version installiere?
Es wird empfohlen, wenn Sie über das ursprüngliche 2004 SDK und WDK verfügen, dass sie deinstalliert werden, und das Sicherheitsaktualisierungs-SDK und WDK installiert werden. Das heißt, wenn der aktualisierte WDK über dem ursprünglichen WDK installiert ist, überschreibt die aktualisierte Version das Original. Hinweis: In diesem Szenario "Programme hinzufügen oder entfernen" werden beide Versionen aufgeführt.