Partager via


Utilisation de Visual Studio ou MSBuild pour créer un pilote

Cette rubrique offre des instructions sur la façon de créer un pilote en utilisant l’environnement de développement Visual Studio, ou à partir de la ligne de commande en utilisant la fenêtre de commandes Visual Studio et le moteur de construction Microsoft (MSBuild).

Pour développer des pilotes pour Windows, vous devrez installer le SDK et le WDK dans Visual Studio et configurer les paramètres du pilote. Assurez-vous que les versions du SDK et du WDK sur votre ordinateur correspondent.

Générer un pilote en utilisant Visual Studio

Vous générez un pilote de la même manière que vous générez n’importe quel projet ou solution dans Visual Studio. Lorsque vous créez un nouveau projet de pilote à l’aide d’un modèle de pilote, le modèle définit une configuration de projet par défaut (active) et une configuration de génération de solution par défaut (active).

Pour des informations sur la gestion et la modification des configurations de génération, veuillez consulter la rubrique Génération dans Visual Studio.

Paramètres du pilote KMDF

Pour configurer les paramètres du pilote dans VS 2022, faites un clic droit sur le projet de pilote, sélectionnez Propriétés, et rendez-vous dans Propriétés ->Configuration Properties ->Driver Settings.

Paramètres du pilote KMDF dans Visual Studio.

Version cible du système d’exploitation

La Version cible du système d’exploitation fait référence à la version de Windows pour laquelle le pilote est développé. Définissez la version cible du système d’exploitation sur la version la plus basse prise en charge par votre pilote. Par exemple, un pilote pour Windows 10 doit prendre en charge Windows 10 et toutes les versions ultérieures.

Suivez les instructions fournies par ces rubriques pour vous assurer que votre package de pilote est correctement écrit pour prendre en charge plusieurs versions de Windows.

Plateforme cible

Il existe 3 classifications pour la plateforme cible Windows, Pilotes universels, Pilotes de bureau et Pilotes Windows.

  1. Les Pilotes universels doivent :

  2. Les Pilotes de bureau doivent :

    Les pilotes répondant aux critères du pilote de bureau sont certifiés Windows Logo et peuvent être ajoutés au programme Windows Update.

  3. Les Pilotes Windows doivent :

    • Répondre à toutes les exigences des pilotes de bureau.
    • Être entièrement conforme aux exigences de l’isolation des packages de pilotes.
    • Passer InfVerif /w
    • Les pilotes Windows sont la sélection de plate-forme cible la plus restrictive et répondent à toutes les exigences de fiabilité et de maintenance.

Le tableau suivant résume les classifications des pilotes.

Fonctionnalité Pilotes universels Pilotes de bureau Pilotes Windows
Switch Infverif InfVerif /u InfVerif /h InfVerif /w
Exigence WHCP actuelle Non Oui Non
Prend en charge toutes les variantes du système d’exploitation Windows Non Non Oui
Prise en charge de X64/ARM64 Oui Oui Oui
Conformité APIVALIDATOR requise Non Non Oui
Prise en charge du système d’exploitation de bureau (Version cible du système d’exploitation) Oui Oui Oui
Prise en charge des échantillons de pilotes GitHub Oui Oui Non

Configuration du pilote

Lors de la génération de pilotes, assurez-vous que l’architecture de la plateforme et NT_TARGET_VERSION sont correctement définies dans Visual Studio avec WDK ou EWDK. La configuration de build de solution par défaut pour le développement est Déboguer et Win64.

  1. Sélectionnez et maintenez (ou faites un clic droit) sur la solution dans Explorateur de solutions et sélectionnez Gestionnaire de configuration.
  2. Dans le Gestionnaire de configuration, sélectionnez la Configuration de solution active (par exemple, Déboguer ou Release) et la Plateforme de solution active (par exemple, Win64) correspondant au type de build qui vous intéresse.
  3. Sélectionnez et maintenez (ou faites un clic droit) sur le projet et sélectionnez Propriétés. Rendez-vous dans Paramètres du pilote ->Général, et définissez Version cible du système d’exploitation et Plateforme cible.
  4. Configurez les propriétés du projet pour votre pilote ou package de pilotes. Vous pouvez définir des propriétés pour le déploiement, la signature du pilote ou d’autres tâches. Pour plus d’informations, veuillez consulter Configuration des propriétés de projet pour votre pilote et package de pilotes.

Pour générer un pilote

  1. Ouvrez le projet ou la solution de pilote dans Visual Studio.
  2. Dans le menu Build, sélectionnez Générer Solution (Ctrl+Shift+B).
  3. Consultez les erreurs de compilation éventuelles dans la fenêtre de sortie de la build.

Génération d’un pilote à l’aide de la ligne de commande (MSBuild)

Vous pouvez construire un pilote à partir de la ligne de commande en utilisant la fenêtre de commande Visual Studio et le moteur de build Microsoft (MSBuild).

Pour générer un pilote à l’aide de la fenêtre d’invite de commandes Visual Studio

  1. Ouvrez une Fenêtre de commande développeur pour VS2022.

    À partir de cette fenêtre, vous pouvez utiliser MSBuild.exe pour construire n’importe quel projet Visual Studio en spécifiant le fichier de projet (.vcxproj) ou de solutions (.sln).

  2. Rendez-vous dans le répertoire du projet et entrez la commande MSBuild pour votre cible.

    Par exemple, pour effectuer une construction propre d’un projet de pilote Visual Studio appelé MyDriver.vcxproj en utilisant la plateforme et la configuration par défaut, rendez-vous dans le répertoire du projet et entrez la commande MSBuild suivante :

    msbuild /t:clean /t:build .\MyDriver.vcxproj
    

    Pour spécifier une configuration et une plateforme spécifiques, utilisez :

    msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS    
    

    La commande suivante génère un pilote pour la configuration « Déboguer », la plateforme « Win32 », et pour Windows 10.

    msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion="Windows10" /p:TargetPlatformVersion="10.0.10010.0"
    

    Le paramètre TargetPlatformVersion est facultatif et spécifie la version du kit à utiliser pour la génération. La valeur par défaut est la dernière version du kit.

Configuration des propriétés du projet pour votre pilote et package de pilotes

Utilisez les pages de propriétés pour configurer et définir des options pour votre pilote et package de pilotes. Vous pouvez choisir de configurer votre pilote de sorte qu’il soit automatiquement signé lors de la génération de votre solution, ou automatiquement déployé sur un ordinateur de test distant.

Vous pouvez définir des propriétés pour un pilote individuel ou pour un package de pilotes entier. La section suivante montre certaines des propriétés disponibles que vous pouvez configurer spécifiquement pour les pilotes et les packages de pilotes.

Propriétés du projet de pilote

Propriétés du package de pilotes

Intégration de l’outil de ligne de commande WDK dans le projet

Le WDK fournit un certain nombre d’outils en ligne de commande, tels que Stampinf et Préprocesseur WPP (Tracé WPP), qui sont couramment inclus dans le processus de génération. Ces outils ne sont pas distribués avec Visual Studio. Pour combiner ces outils avec l’environnement de construction Visual Studio, ils sont enveloppés en tant que tâches WDK pour MSBuild. Si vous utilisez l’un des modèles de pilote ou si vous avez un pilote existant que vous avez converti, ces pages de propriétés peuvent déjà exister pour votre projet. Sinon, les pages de propriétés sont automatiquement ajoutées à votre projet au fur et à mesure que vous ajoutez les types de fichiers associés au projet ou à la solution (par exemple, fichiers .mc ou .man pour le compilateur de messages). Pour plus d’informations, veuillez consulter la section WDK et l’environnement de génération Visual Studio.

Conseil de dépannage pour la construction d’un pilote

Pour aider à résoudre les problèmes de build, vous pouvez augmenter la verbosité de la sortie de build dans Visual Studio :

  1. Sélectionnez Outils ->Options.
  2. Sélectionnez le dossier Projets et solutions et sélectionnez Générer et Exécuter.
  3. Modifiez les options pour la Verbosité de la sortie de build du projet MSBuild et Verbosité du fichier journal de build du projet MSBuild. Par défaut, ceux-ci sont définis sur Minimal.

Mise à jour des pilotes Windows 8

Vous pouvez convertir des projets et des solutions que vous avez créés avec WDK 8 ou Windows Driver Kit (WDK) 8.1 pour les faire fonctionner avec Windows Driver Kit (WDK) 10 et Visual Studio. Avant d’ouvrir les projets ou solutions, exécutez l’Outil de mise à niveau de projet. L’outil de mise à niveau de projet convertit les projets et solutions afin qu’ils puissent être générés à l’aide de WDK 10.

À partir de Windows Driver Kit (WDK) 8, MSBuild a remplacé l’utilitaire Windows Build Utility (Build.exe). Le WDK utilise le même compilateur et les mêmes outils de construction que vous utilisez pour générer des projets Visual Studio. Les projets de pilotes qui ont été générés avec des versions précédentes du WDK doivent être convertis pour fonctionner dans l’environnement Visual Studio. Vous pouvez exécuter un utilitaire de conversion à partir de la ligne de commande, ou vous pouvez convertir un pilote existant en créant un nouveau projet Visual Studio à partir de sources existantes. Pour plus d’informations, veuillez consulter la rubrique Création d’un pilote à partir de fichiers source existants et WDK et l’environnement de build Visual Studio.