Génération et chargement d’un pilote WDF

Cette rubrique explique comment sélectionner un système d’exploitation cible et une version de framework pour un projet de pilote dans Visual Studio.

Pour déterminer si vous devez inclure des composants d’infrastructure redistribuables dans votre package de pilotes, consultez Composants de l’infrastructure redistribuable.

Quelle version du framework dois-je utiliser ?

  • Pour cibler Windows XP, utilisez WDF 1.9 ou version antérieure.
  • Pour cibler Windows Vista, Windows 7 ou Windows 8, utilisez WDF 1.11 ou version antérieure.
  • Pour cibler Windows 8.1, utilisez KMDF 1.13 ou version antérieure, ou UMDF 1.x ou UMDF 2.0.
  • Pour cibler Windows 10 version 1507, utilisez KMDF 1.15 ou version antérieure, UMDF 1.x ou UMDF 2.15 ou version antérieure.

Pour plus d’informations sur les versions KMDF et UMDF, consultez Historique des versions KMDF et Historique des versions UMDF.

Comment faire définir les versions dans Visual Studio ?

Si vous créez votre projet de pilote pour la dernière version de Windows et la version la plus récente de KMDF ou UMDF, vous pouvez conserver les valeurs par défaut et ignorer cette étape.

Dans le cas contraire, procédez ainsi :

  • Cliquez avec le bouton droit sur la solution et sélectionnez Configuration Manager. Définissez Configuration du projet sur la valeur souhaitée (par exemple , Debug).
  • Cliquez avec le bouton droit sur le projet de pilote, puis sélectionnez Propriétés. Ouvrez Propriétés de configuration-Paramètres> du pilote-Modèle> de pilote. Remplacez la valeur version mineure kmDF (version cible) ou version mineure UMDF (version cible) dans les paramètres du modèle de pilote par la valeur souhaitée. Pour plus d’informations sur la version mineure de KMDF (minimum obligatoire) et la version mineure d’UMDF (minimum requis), consultez Spécification de la version minimale requise.

Vous pouvez utiliser le Kit de pilotes Windows (WDK) fourni avec Windows 10 pour générer des pilotes KMDF 1.9-1.29, ainsi que des pilotes UMDF 1.9-2.29.

Pour plus d’informations sur les versions KMDF et UMDF, consultez Historique des versions KMDF et Historique des versions UMDF.

Liaison et chargement

Lorsque vous générez un projet WDF (Windows Driver Frameworks) dans Microsoft Visual Studio, MSBuild lie votre pilote à la bibliothèque d’infrastructure appropriée, au chargeur de la bibliothèque et à un fichier stub, qui sont tous inclus dans le WDK. (La bibliothèque et le chargeur sont également inclus dans le co-programme d’installation du framework afin que, si nécessaire, vous puissiez les distribuer avec votre package de pilotes.)

Le fichier stub contient une routine de point d’entrée spéciale : FxDriverEntry. MSBuild définit la routine FxDriverEntry du stub comme point d’entrée initial pour les pilotes basés sur l’infrastructure.

Lorsque le système d’exploitation charge un pilote basé sur l’infrastructure, il charge également le fichier stub et le chargeur de la bibliothèque. Ensuite, le système appelle la routine FxDriverEntry du fichier stub. Cette routine appelle ensuite le chargeur. Le chargeur détermine la version de la bibliothèque d’infrastructure dont le pilote a besoin, puis charge la version correcte de la bibliothèque en tant que service en mode noyau (si elle n’est pas déjà chargée). Enfin, la bibliothèque appelle la routine DriverEntry du pilote.