Créer un pilote d’imprimante v4 de base

Important

Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.

Pour plus d’informations, veuillez consulter le Guide de conception d’application de support d’impression.

Important

Microsoft a annoncé la fin de vie des pilotes d’imprimante v3 et v4 hérités.

Pour plus d’informations, consultez Le plan de fin de maintenance pour les pilotes d’imprimante tiers sur Windows.

Avertissement

Ce didacticiel sur le pilote d’imprimante contient plusieurs erreurs et n’est pas utilisable pour l’instant.

Créez un pilote d’imprimante v4 de base à l’aide de l’Assistant Développement de pilotes dans Microsoft Visual Studio 2019 pour sélectionner l’ensemble minimal de fonctionnalités permettant de créer un pilote d’imprimante fonctionnel.

Les instructions de cette rubrique se concentrent sur les étapes requises pour la création d’un pilote et n’expliquent pas les nombreuses options de pilote d’imprimante disponibles dans l’Assistant.

L’objectif de cette rubrique est de fournir une introduction au processus impliqué lors du développement d’un pilote d’imprimante dans Visual Studio 2019.

Un aperçu plus détaillé des options du pilote d’imprimante est fourni dans Explorer les options du pilote dans l’Assistant.

Prérequis

Suivez les instructions fournies dans Télécharger le Kit de pilotes Windows (WDK) et vérifiez que vous avez terminé les éléments suivants :

  1. Installez Visual Studio 2019 avec le développement Desktop avec la charge de travail C++ et la version correcte du Kit de développement logiciel (SDK) Windows 10.

  2. Installez le Kit de pilotes Windows (WDK) pour Windows 10, version 2004.

  3. Installez l’extension Windows Driver Kit (WDK) pour Visual Studio 2019.

Sélectionner des fonctionnalités pour le pilote de base

  1. Dans Visual Studio, dans le menu principal, sélectionnez Nouveau>projet de fichier.>

  2. Dans la fenêtre Nouveau projet , dans la zone de recherche en haut à droite, tapez le pilote d’imprimante v4 et appuyez sur Entrée. Cela récupère tous les modèles de pilotes dont les noms contiennent le texte de recherche.

  3. Dans le volet central, sélectionnez Pilote d’imprimante V4.

  4. Tapez un nom pour votre pilote dans le champ Nom , puis sélectionnez OK. Par exemple, vous pouvez taper MyV4PrintDriver.

  5. Dans l’Assistant Créer un pilote d’impression v4, sous Choisir le type de rendu du pilote :, sélectionnez pilote d’impression V4 avec des filtres de rendu personnalisés (accepte UNIQUEMENT XPS).

  6. Laissez toutes les autres options à leurs paramètres par défaut, puis sélectionnez Suivant.

  7. Dans la section Informations d’installation de l’Assistant, laissez toutes les options à leurs paramètres par défaut, puis sélectionnez Suivant.

  8. Dans la section Informations d’installation (page 2) de l’Assistant, laissez toutes les options à leurs paramètres par défaut, puis sélectionnez Suivant.

Microsoft Visual Studio utilise les sélections précédentes pour générer les fichiers projet pour MyV4PrintDriver.

Vérifier les fichiers de pilote générés

  1. Accédez au dossier des fichiers de pilotes générés. Par exemple, si vous avez nommé votre projet MyV4PrintDriver, les fichiers sont enregistrés à l’emplacement suivant : Mes > documents Visual Studio 2019 > Projects > MyV4PrintDriver MyV4PrintDriver > MyV4PrintDriver.

  2. Vérifiez que le dossier contient les fichiers suivants :

    Nom de fichier Type de fichier
    MyV4PrintDriver.gpd Fichier de description de l’imprimante
    MyV4PrintDriver.inf Fichier d’informations d’installation
    MyV4PrintDriver.vcxproj Fichier projet C++
    MyV4PrintDriver.vcxproj.filters Fichier de filtres de projet C++
    MyV4PrintDriver-manifest.ini Fichier de paramètres de configuration (manifeste du pilote d’impression)
    V4PrintDriver-Intellisense.js Fichier JavaScript pour IntelliSense
    V4PrintDriver-Intellisense-Windows8.1.js Fichier JavaScript pour IntelliSense

Notez dans le tableau précédent qu’un des fichiers créés est un fichier INF. Notez que Visual Studio a créé un fichier INF squelette qui doit être terminé afin qu’il puisse être utilisé pour installer le pilote.

Créer un PrinterDriverID unique pour le pilote

  1. Dans le menu Visual Studio Tools, sélectionnez Créer un GUID.

  2. Sélectionnez l’option 4. Format du Registre et sélectionnez le bouton Copier .

  3. Dans Visual Studio, dans le Explorateur de solutions, développez le nœud MyV4PrintDriver.

  4. Sélectionnez Fichiers de pilotes, puis dans la fenêtre Propriétés , examinez la valeur du champ Identificateur unique. Remplacez cette valeur par le GUID que vous avez généré à l’aide de Coller.

Terminer le fichier INF

Dans le projet MyV4PrintDriver, il doit y avoir une entrée pour les fichiers de pilotes. Ouvrez ce fichier et le fichier MyV4PrintDriver.inf doit être répertorié. Ouvrez ce fichier.

Les 2 premières lignes du fichier INF sont l’avis de copyright pour le package de pilotes.

La ligne 1 contient l’année et le nom de votre entreprise. Remplacez les caractères AAAA par l’année en cours et remplacez les caractères <nom> de votre fabricant par le nom de votre entreprise.

La ligne 2 décrit le contenu du pilote INF, y compris le nom du fabricant et les informations de modèle d’appareil. Remplacez les caractères <par le nom> de votre fabricant par le nom de votre entreprise et remplacez les caractères du <modèle par> le nom du modèle de l’imprimante prise en charge par le pilote.

Par exemple, si l’année est 2021 et que le nom de votre entreprise est Fabrikam et que le modèle d’appareil d’impression est 1234, vous devez taper ce qui suit :

; Copyright (c) 2021 Fabrikam
; INF file for the Fabrikam 1234 print driver

2. Vérifiez que la section [Version] est correcte

Recherchez la ligne contenant [Version].

  • Vérifiez et vérifiez que vous voyez cette ligne :

    ClassVer=4.0
    
  • Vérifiez et vérifiez que vous voyez cette ligne :

    Signature="$WINDOWS NT$"
    

3. Configurer la section [SourceDisksFiles]

Recherchez la ligne contenant [SourceDisksFiles].

Sous ce type, les lignes suivantes sont les suivantes :

MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
MyV4PrintDriverRenderFilter-PipelineConfig.xml=1
MyV4PrintDriverRenderFilter.dll=1

4. Configurer la section [DriverFiles]

Recherchez la ligne contenant [DriverFiles].

Sous ce type, les lignes suivantes sont les suivantes :

MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
MyV4PrintDriverRenderFilter-PipelineConfig.xml
MyV4PrintDriverRenderFilter.dll

5. Configurer la section [Standard.NT$ARCH$]

Recherchez la ligne contenant [Standard.NT$ARCH$].

Cette section fait référence à la Install section du inf pour chaque modèle. Par exemple, si le modèle de votre imprimante est Fabrikam 1234, vous devez taper ce qui suit :

"Fabrikam 1234"=DriverInstall, USBPRINT\\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\\Fabrikam1234

6. Ajouter l’PrinterDriverID au fichier INF

Dans Visual Studio, dans le Explorateur de solutions, développez le nœud MyV4PrintDriver.

Sélectionnez Fichiers de pilotes, puis dans la fenêtre Propriétés , examinez la valeur du champ Identificateur unique. Il s’agit de l’ID du pilote (GUID). Mettez-le en surbrillance et copiez-le.

Dans le fichier INF, dans la section [Standard.NT$ARCH$] , tapez la ligne suivante :

"Fabrikam 1234"=DriverInstall,

Ensuite, après la virgule, collez le GUID que vous avez copié à l’étape précédente. La section [Standard.NT$ARCH$] terminée doit ressembler à ce qui suit :

"Fabrikam 1234"=DriverInstall, {GUID}
"Fabrikam 1234"=DriverInstall, USBPRINT\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\Fabrikam1234

7. Configurer la section [Chaînes]

Recherchez la ligne contenant [Chaînes].

Vous trouverez ci-dessous la définition de la chaîne ManufacturerName . Remplacez les caractères <nom de votre fabricant> par le nom de votre entreprise pour fournir le nom d’un fabricant pour l’imprimante cible et supprimer le reste de la ligne contenant le ; TODO :

Par exemple, si le nom de votre entreprise est Fabrikam, vous devez taper ce qui suit :

ManufacturerName="Fabrikam"

8. Enregistrer le fichier INF

Lorsque vous terminez le fichier INF, il doit ressembler à ce qui suit :

; Copyright (c) 2021 Fabrikam
; INF file for the Fabrikam 1234 print driver

[Version]
Signature="$Windows NT$"
Class=Printer
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318}
Provider=%ManufacturerName%
CatalogFile=MyV4PrintDriver.cat
ClassVer=4.0
DriverVer=03/17/2014,1.0.0.0
PnpLockdown=1

[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$

[Standard.NT$ARCH$]
"Fabrikam 1234"=DriverInstall, {GUID}
"Fabrikam 1234"=DriverInstall, USBPRINT\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\Fabrikam1234

[DriverInstall]
CopyFiles=DriverFiles

[DriverFiles]
MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
MyV4PrintDriverRenderFilter-PipelineConfig.xml
MyV4PrintDriverRenderFilter.dll

[DestinationDirs]
DefaultDestDir = 66000

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
MyV4PrintDriverRenderFilter-PipelineConfig.xml=1
MyV4PrintDriverRenderFilter.dll=1

[Strings]
ManufacturerName="Fabrikam"
DiskName="MyV4PrintDriver Installation Disk"

Mettre à jour la liste des fichiers de pilotes

  1. Dans Visual Studio, dans le Explorateur de solutions, développez le nœud MyV4PrinterDriver.

  2. Sélectionnez le fichier MyV4PrintDriver.gpd et faites-le glisser vers le nœud Fichiers du pilote.

  3. Faites de même avec MyV4PrintDriver-manifest.ini.

Ajouter le fichier de configuration du pipeline au package de pilotes

  1. Dans le Explorateur de solutions, sélectionnez et maintenez la touche enfoncée (ou cliquez avec le bouton droit) dans le projet MyV4PrintDriver, puis sélectionnez Propriétés.

  2. Dans la fenêtre Pages de propriétés MyV4PrintDriver, développez Propriétés de configuration dans le volet gauche.

  3. Développez l’installation du pilote, puis sélectionnez Fichiers de package.

  4. Dans le volet droit, sélectionnez, puis cliquez sur la <ligne Modifier...> dans les fichiers répertoriés.

    Sélectionnez la ligne de modification des fichiers de package.

  5. Remplacez l’espace réservé par le chemin relatif du fichier de configuration de pipeline, par exemple, ../MyV4PrintDriver Render Filter/MyV4PrintDriverRenderFilter-PipelineConfig.xmlpuis cliquez sur OK.

    Remplacez l’espace réservé  par le chemin relatif.

Ajouter une référence au filtre de rendu au package de pilotes

  1. Dans Visual Studio, dans le Explorateur de solutions, développez le nœud MyV4PrinterDriver.

  2. Sélectionnez et maintenez la touche enfoncée (ou cliquez avec le bouton droit) sur le nœud Références :> sélectionnez Ajouter une référence.

  3. Cochez la case pour le filtre de rendu MyV4PrintDriver, puis sélectionnez OK.

Configurer la solution de pilote pour le débogage et le déploiement

  1. Dans le Explorateur de solutions, sélectionnez et maintenez la touche enfoncée (ou cliquez avec le bouton droit) dans le projet MyV4PrintDriver, puis sélectionnez Propriétés.

  2. Dans la fenêtre Pages de propriétés MyV4PrintDriver, développez Propriétés de configuration dans le volet gauche.

  3. Développez l’installation du pilote, puis sélectionnez Déploiement. Procédez comme suit dans le volet droit :

    • Vérifiez que le nom de l’ordinateur cible est configuré. Si ce n’est pas le cas, sélectionnez « ... » et suivez les invites de l’Assistant Configurer les appareils pour configurer un ordinateur cible distant.

    • Vérifiez supprimer les versions précédentes du pilote avant le déploiement.

    • Sélectionnez Installer/réinstaller et vérifier, puis sélectionnez Tâche d’installation du package du pilote d’imprimante par défaut dans la zone déroulante.

    • Tapez le nom du pilote dans le champ Arguments facultatifs (sans guillemets autour du nom).

    • Cliquez sur OK.

Configurer la signature de pilote

  1. Dans le Explorateur de solutions, sélectionnez et maintenez la touche enfoncée (ou cliquez avec le bouton droit) dans le projet MyV4PrintDriver, puis sélectionnez Propriétés.

  2. Dans la fenêtre Pages de propriétés MyV4PrintDriver, développez Propriétés de configuration dans le volet gauche.

  3. Développez La signature du pilote, puis sélectionnez Général.

  4. Dans le volet droit, vérifiez que le mode de signature est défini sur Test Sign.

  5. Sélectionnez Tester le certificat, puis sélectionnez Créer un certificat de test... dans la zone de liste déroulante.

  6. Sélectionnez TimeStampServer, puis sélectionnez Verisign dans la zone de liste déroulante.

  7. Cliquez sur OK.

Générer et déployer le pilote

  1. Dans Explorateur de solutions, sélectionnez et maintenez (ou cliquez avec le bouton droit) Solution MyV4PrintDriver (2 projets) et sélectionnez Générer la solution.

  2. Une fois le processus de génération terminé, le pilote est automatiquement installé. Vérifiez qu’il n’y a aucune erreur dans la fenêtre Sortie .

Tester le pilote

Créez une file d’attente d’impression à l’aide du plug-and-play ou de l’Assistant Ajouter une imprimante.

Pour plus d’informations sur les fichiers INF pour le pilote d’imprimante v4, consultez L’INF du pilote V4.

En plus des fichiers du tableau précédent, notez qu’un dossier De filtre de rendu MyV4PrintDriver a été créé. Il s’agit du modèle de projet de filtre de rendu et fournit une bonne base pour créer un filtre de rendu XPS et un fichier de configuration de pipeline de filtre XPS. Pour plus d’informations sur les filtres de rendu XPS, consultez le module de rendu XPSDrv.