Partager via


Création d’un pilote de fonction d’appareil

Dans cet article, nous expliquons comment utiliser Visual Studio pour commencer à écrire un nouveau pilote de fonction de périphérique. Les pilotes de fonction de périphérique sont différents des pilotes de filtre, des pilotes logiciels et des pilotes de système de fichiers, que nous abordons dans d’autres articles. Pour en savoir plus sur les pilotes de fonction d’appareil et la façon dont ils diffèrent des autres types de pilotes, consultez Qu’est-ce qu’un pilote ?, Choix d’un modèle de pilote et Nœuds d’appareil et piles d’appareils.

Pour commencer, déterminez l’emplacement de votre appareil dans la liste des technologies décrites dans Technologies des périphériques et des pilotes. Pour en savoir plus sur les modèles de pilotes disponibles pour votre appareil, consultez la documentation relative à cette technologie particulière. Le modèle de pilote recommandé varie d’une technologie à l’autre. Pour certaines technologies, la documentation recommande d’utiliser UMDF (User Mode Driver Framework) ou KMDF (Kernel Mode Driver Framework). Pour d’autres technologies, la documentation explique comment créer un minidriver qui fait partie d’une paire de pilotes. Minidrivers passent par différents noms, y compris miniport et miniclasse.

Déterminez lequel des cas suivants décrit votre recommandation de modèle de pilote et suivez les étapes suivantes :

Cas 1 : La documentation de votre technologie recommande UMDF

  1. Démarrez Visual Studio.
  2. Choisissez Créer un projet dans la boîte de dialogue de démarrage, ou sélectionnez Nouveau | Projetez à partir du menu Fichier de Visual Studio.
  3. Dans le volet droit de la boîte de dialogue Créer un projet, recherchez et sélectionnez Pilote en mode utilisateur (UMDF V2).
  4. Sélectionnez Suivant.
  5. Renseignez les zones Nom du projet, Emplacement et Nom de la solution , puis sélectionnez Créer. Pour plus d’informations, consultez Écriture d’un pilote UMDF basé sur un modèle.

    Notes

    Lorsque vous créez un pilote UMDF, vous devez sélectionner un nom de pilote comportant 32 caractères ou moins. Cette limite de longueur est définie dans wdfglobals.h.

  6. À ce stade, vous avez un projet de pilote qui implémente le code général requis par la plupart des pilotes UMDF. Vous pouvez maintenant fournir le code spécifique à votre appareil. Reportez-vous à la documentation de votre technologie pour en savoir plus sur les interfaces que vous devez implémenter.

Cas 2 : La documentation de votre technologie recommande KMDF

  1. Démarrez Visual Studio.
  2. Choisissez Créer un projet dans la boîte de dialogue de démarrage, ou sélectionnez Nouveau | Projetez à partir du menu Fichier de Visual Studio.
  3. Dans le volet droit de la boîte de dialogue Créer un projet, recherchez et sélectionnez Pilote en mode noyau (KMDF).
  4. Sélectionnez Suivant.
  5. Renseignez les zones Nom du projet, Emplacement et Nom de la solution , puis sélectionnez Créer. Pour plus d’informations, consultez Écriture d’un pilote KMDF basé sur un modèle.

    Notes

    Lorsque vous créez un pilote KMDF, vous devez sélectionner un nom de pilote comportant 32 caractères ou moins. Cette limite de longueur est définie dans wdfglobals.h.

  6. À ce stade, vous avez un projet de pilote qui implémente le code général requis par la plupart des pilotes KMDF. Vous pouvez maintenant fournir le code spécifique à votre appareil. Reportez-vous à la documentation de votre technologie pour en savoir plus sur les méthodes que vous devez implémenter.

Cas 3 : La documentation de votre technologie décrit un modèle de minidriver

Si la technologie de votre appareil dispose d’un miniport, d’une mini-classe ou d’un autre modèle de minidriver, case activée pour voir si Visual Studio a un modèle spécifique pour le modèle.

  1. Démarrez Visual Studio.
  2. Choisissez Créer un projet dans la boîte de dialogue de démarrage, ou sélectionnez Nouveau | Projetez à partir du menu Fichier de Visual Studio.
  3. Dans le volet droit de la boîte de dialogue Créer un projet , parcourez la liste des modèles installés pour trouver un modèle pour le type de pilote que vous devez écrire.
  4. Si vous trouvez un modèle pour votre type de pilote, sélectionnez-le.
  5. Sélectionnez Suivant.
  6. Renseignez les zones Nom du projet, Emplacement et Nom de la solution , puis sélectionnez Créer.
  7. Si un Assistant pilote vous est présenté, parcourez l’Assistant pour créer votre projet de pilote.
  8. À ce stade, vous avez un projet de pilote qui implémente le code général requis par votre pilote. Vous pouvez maintenant fournir le code spécifique à votre appareil. Reportez-vous à la documentation de votre technologie pour en savoir plus sur les fonctions que vous devez implémenter.

Si la technologie de votre appareil dispose d’un modèle de minidriver et que vous n’êtes pas en mesure de trouver un modèle spécifique pour votre type de minidriver, le modèle Windows Driver Model (WDM) sera probablement votre point de départ. Pour obtenir des conseils, consultez la documentation spécifique à votre technologie. Dans de rares cas, vous pouvez utiliser KMDF pour écrire un minidriver, mais le point de départ est généralement WDM.

  1. Démarrez Visual Studio.
  2. Choisissez Créer un projet dans la boîte de dialogue de démarrage, ou sélectionnez Nouveau | Projetez à partir du menu Fichier de Visual Studio.
  3. Dans le volet droit de la boîte de dialogue Créer un projet , recherchez et sélectionnez Pilote WDM vide.
  4. Sélectionnez Suivant.
  5. Renseignez les zones Nom du projet, Emplacement et Nom de la solution , puis sélectionnez Créer.
  6. À ce stade, vous avez un projet de pilote WDM vide. Dans la fenêtre Explorateur de solutions, cliquez avec le bouton droit sur votre projet de pilote, puis choisissez Ajouter | Nouvel élément.
  7. Dans la boîte de dialogue Ajouter un nouvel élément , entrez un nom pour votre fichier .cpp, puis sélectionnez Ajouter.

    Notes

    Si vous souhaitez créer un fichier .c au lieu d’un fichier .cpp, entrez un nom qui a l’extension .c .

  8. Reportez-vous à la documentation de votre technologie pour en savoir plus sur les fonctions que vous devez implémenter. Lorsque vous implémentez et organisez vos fonctions, vous pouvez décider d’ajouter d’autres fichiers .cpp ou .c.