Partager via


Problèmes connus du Windows Driver Kit (WDK)

Cet article détaille les problèmes connus liés à wdK.

WDK pour Windows 11, version 26H1

Tests de pilotes avec prise en charge par Visual Studio

Les tests de pilotes dans Visual Studio sont pris en charge à partir de Visual Studio 2022 version 17.14.23 et ultérieures

WDK pour Windows 11, version 24H2

Développement du pilote en mode noyau x86

À compter de Windows 11, version 24H2, wdK ne prend plus en charge le développement de pilotes en mode noyau x86. Si vous avez un besoin professionnel de développer des pilotes de périphériques x86 en mode noyau, utilisez WDK Version 23H2

Redémarrer après l’approvisionnement

Après l’approvisionnement et le déploiement, la machine cible ne parvient pas à redémarrer après les étapes de déploiement.

Support ARM64 WDK Driver SxS

Lorsque le kit Windows 11, version 24H2 et Windows 11, version 22H2 sont installés sur un ordinateur ARM64, la génération d’un pilote KMDF (Kernel Mode Driver Framework) pour ARM64 avec TargetPlatformVersion défini sur Windows 11, version 22H2 échoue avec WdfDriverEntry.lib(stub.obj) : error LNK2001: unresolved external symbol.

Échec de l’installation de l’extension WDK

Si vous utilisez Visual Studio version 17.11.0 ou ultérieure, décochez la case d’extension d’installation dans l’installation de WDK.

WDK pour Windows 11, version 22H2

Erreur de service au démarrage

Si vous avez installé windows 11 d’origine, version 22H2 WDK entre mai et août 2022 (version 10.0.22621.1), le message d’erreur suivant peut s’afficher lorsque vous démarrez Visual Studio avec wdK.

Le Microsoft.Windows.Tools.WinIDE.Debugger.DebuggerPackage, DebuggerPackage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null package n’a pas été correctement chargé.

Ce problème est résolu dans la version 10.0.22621.382 du WDK. Vous pouvez désinstaller le WDK puis réinstaller la dernière version du WDK en suivant les instructions dans Télécharger le Windows Driver Kit.

Le débogueur dans Visual Studio ne fonctionne pas

Il n’est pas possible de déboguer des pilotes au sein de l’interface Visual Studio lors de l’utilisation de Visual Studio 2022 version 17.2.0 et 17.3 avec Windows 11, version 22H2 WDK (10.0.22621.382). Pour contourner le problème, effectuez l’une des actions suivantes : mettez à jour Visual Studio vers la version 17.4.1 ou ultérieure, déboguez-le avec WinDbg ou utilisez une version de Visual Studio antérieure à 17.2.0. Le message d’erreur suivant est lié à ce problème :

QueryBuildManagerBusyEx doit être appelé sur l’interface utilisateur.

Les co-programmes d’installation redistribuables Windows Driver Framework (WDF) ne fonctionnent pas

Les co-installateurs redistribuables WDF ne sont plus pris en charge. Cela provoque des problèmes sur les ordinateurs qui ont installé windows 11, version 22H2 WDK et wdK plus ancien. Lorsque vous essayez de générer un pilote WDF 1.11 sur un tel système, msbuild échoue. La compilation échoue, car MSBuild ne trouve pas le co-installateur WDF.

Pour résoudre ce problème, avant d’installer le WDK pour Windows 11, version 22H2, sauvegardez le dossier \Program files (x86)\windows kit\10\redist\wdf et restaurez-le par la suite. Sinon, si vous avez installé Windows 11, version 22H2 WDK, installez le fichier MSI sur les composants redistribuables WDK 8 sur un ordinateur distinct et copiez le redist dossier dans le \Program files (x86)\windows kit\10\redist\wdf dossier. Pour plus d’informations, veuillez consulter la section Composants du framework redistribuable.

WDK pour Windows 10, version 2004

Problème dans les fonctions ExAllocatePoolZero, ExAllocatePoolQuotaZero, et ExAllocatePoolPriorityZero RÉSOLU

En mai 2020, OSR a découvert un problème avec la nouvelle prise en charge de bas niveau pour la mise à zéro automatique des allocations de pool. Le problème peut entraîner le fait qu'une allocation ne soit pas initialisée à zéro sur les systèmes exécutant Windows 10, version 1909. Cela a été corrigé par une actualisation de sécurité du WDK pour Windows 10, version 2004, et de l'Enterprise WDK (EWDK) pour Windows 10, version 2004 le 16 décembre. Microsoft a profité de cette mise à jour de sécurité pour mettre à jour l’EWDK afin d’inclure les outils de build de Visual Studio 16.7. Microsoft recommande à tous les développeurs de pilotes de désinstaller le SDK et le WDK originaux (version 2004) et d’installer le SDK et WDK actualisés ou l’EWDK.

Pour garantir une solution de sécurité complète, une correction du système d’exploitation a été publiée pour Windows 10, version 1909 en novembre, de sorte que si un pilote créé avec le problème de sécurité est installé, le système d’exploitation soit protégé.

Outre le téléchargement du WDK/EWDK mis à jour, Microsoft recommande à tous les pilotes de changer toutes les allocations de noyau pour utiliser les nouvelles DDD de mise à zéro du pool, qui retournent la mémoire zéro par défaut. Cela augmente la sécurité et la fiabilité des pilotes. Pour faciliter cette transition, Microsoft a créé une règle de vérificateur de pilote statique, disponible en préversion des versions 20236 et ultérieures de Windows 10 WDK. La règle identifie toutes les instances dans le code source d’un pilote où les anciennes DDD d’allocation de pool sont utilisées et recommande de les remplacer par la nouvelle DDI équivalente plus sûre. La règle s’applique aux pilotes basés sur WDM, WDF et NDIS.

L’installation du WDK n’active plus les atténuations Spectre pour tous les projets C++ comme dans le WDK 1903

Bien que l’installation de WDK active l’atténuation spectre par défaut pour tous les pilotes, elle ne les active plus pour tous les projets C++.

Erreur « A WDK correspondant à la cible « 10.0.19041.0 » est introuvable.

Lorsque vous sélectionnez [Version du Kit de développement logiciel (SDK) Windows] sur « 10.0 (dernière version installée) » avec WDK 10.0.19041.0, l’erreur « A WDK correspondant à la version cible « 10.0.19041.0 » est introuvable, même si la version du SDK est installée.

Solution de contournement : dans la page des propriétés du projet de pilote (Configuration Properties >General), définissez Windows SDK Version sur $(LatestTargetPlatformVersion). Si cette option n’est pas disponible pour sélectionner, sélectionnez l’option hériter par défaut du parent ou du projet.

EWDK et SDV exécutés sur serveur ont des exigences .NET

L’exécution du vérificateur de pilote statique à partir de l’EWDK nécessite .NET Framework 4.7.2. Selon la version de Windows sur votre système, .NET peut être installé, peut être installé, mais doit être activé ou ne pas être installé. Pour plus d’informations sur la version de .NET installée ou l’état de l’installation de .NET, passez en revue les versions et dépendances de .NET Framework.

La génération de DVL échoue avec System.IO.FileNotFoundException

Lors de la tentative de création d’un journal de vérification de pilote (DVL), l’erreur suivante s’affiche :

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.

Ce problème peut se produire dans les environnements de ligne de commande et d’interface utilisateur utilisateur. Ce problème est résolu dans une future version du WDK et peut être vu dans le WDK Windows Insider Preview. Malheureusement, aucune solution de contournement n’existe pour la version actuelle.

SDV échoue dans le sdk EWDK si VS n’est pas installé

SDV a une dépendance sur VCRUNTIME140D.dll en tant que partie de Visual Studio. Par conséquent, l’exécution de la clé EWDK sur un ordinateur sans que VS soit installé échoue. Installez Visual Studio sur la machine pour contourner ce problème.

Le vérificateur de pilotes n’est pas activé/désactivé lors de l’utilisation de l’Explorateur de tests WDK

Le vérificateur de pilote n’est pas activé/désactivé lorsque les tests De base de l’appareil sont exécutés à l’aide de l’Explorateur de tests WDK.

Solution de contournement : Sur l’ordinateur client, activez/désactivez manuellement le vérificateur de pilote conformément à ces instructions.

Installations WDK côte à côte de Windows 10, version 2004 et WDK Windows 10, version 1903 ou version 1803

Avec les deux versions des kits installés sur le même PC, la fonctionnalité déployer le pilote ne fonctionne pas pour l’ancienne version.

Solution de contournement : Utilisez 1803 sur un ordinateur distinct si la fonctionnalité déployer le pilote est nécessaire.

Les tests du Windows Device Testing Framework (WDTF) ne s’exécutent désormais que sur les systèmes avec des versions de Windows 10 correspondant à celles du WDK

Dans le WDK pour Windows 10, version 1809, des modifications ont été apportées au WDTF pour prendre en charge cette version de Windows 10, version 1809. L’effet de cela est que WDTF ne s’exécutera plus sur des systèmes d’exploitation antérieurs. Le changement se poursuit avec le WDK pour Windows 10, version 2004.

Alternative pour les tests sur des systèmes antérieurs

Les tests WDTF dans le WDK pour Windows 10, version 1803 peuvent être exécutés sur les versions précédentes de Windows.

APIValidator

Sur une machine arch x86, APIValidator ne peut pas s’exécuter sur des fichiers binaires x64. Si vous créez des pilotes x64 sur un ordinateur x86, APIValidator doit être désactivé.

Solution de contournement :

  1. Accédez à la page des propriétés de la solution de pilotes.

  2. Sélectionnez APIValidator, puis General, et changez Run ApiValidator de Yes à No.

Le WDK exécuté sur les systèmes Windows 7 nécessite KB 3033929

Vous devez installer Microsoft Security Advisory 3033929 (KB3033929) avant d’installer wdK sur les systèmes exécutant Windows 7. KB3033929 peut être téléchargé depuis le Centre de téléchargement Microsoft.

L’installation du WDK génère une erreur de Visual Studio indiquant que le composant add-in est déjà installé

Ce message d’erreur s’affiche si le wdK a été désinstallé, mais que l’extension des pilotes WDK pour Visual Studio n’a pas été désinstallée.

Résolution: Dans Visual Studio, accédez au menu déroulant Extension , choisissez Gérer les extensions, sélectionnez le Kit de pilotes Windows, puis désinstallez.

Questions fréquentes (FAQ)

Comment savoir si les versions WDK ou EWDK que je possède contiennent la correction pour la mise à zéro des allocations de pool ?

Dans Paramètres système, allez à Ajouter ou supprimer des programmes, recherchez Windows Driver Kit et notez la version. Le WDK d’origine pour Windows 10, version 2004 a une version de 10.0.19041.1. La version de WDK actualisée est 10.0.19041.685 pour le kit EWDK, une fois l’environnement EWDK lancé, examinez le titre de la fenêtre de commande. La version actualisée contient vb_release_svc_prod1.19041.685. De plus, en regardant les variables d’environnement, la variable BuildLab devrait afficher vb_release_svc_prod1.19041.685.

Le Kit de développement logiciel (SDK) Windows a également été actualisé, est-ce nécessaire ?

Non, toutefois, le Kit de développement logiciel (SDK) Windows actualisé contient un correctif pour onecore.lib qui peut être agréable à avoir. En outre, il est généralement judicieux de garder le SDK et le WDK alignés.

Si j’ai déjà installé le WDK pour Windows 10, version 2004, dois-je le désinstaller avant d’installer la version actualisée ?

Nous vous recommandons de désinstaller l'édition originale du SDK et du WDK de 2004, puis d'installer les versions d'actualisation de sécurité du SDK et du WDK. Cela dit si le WDK actualisé est installé sur le WDK d’origine, la version actualisée remplace l’original. Remarque : Dans ce scénario, « Ajouter ou supprimer des programmes », les deux versions sont répertoriées.