Partager via


Création d'un pilote d'impression v4 de base

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. 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 les articles Plateforme d’impression moderne et Guide de conception des applications de support d’impression.

Important

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

Pour plus d’informations, consultez l’article Fin du plan de maintenance pour les pilotes d’imprimante tiers sous Windows.

Avertissement

Ce tutoriel sur les pilotes 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 afin de 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 pour pilote d’imprimante disponibles dans l’Assistant.

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

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

Prérequis

Suivez les instructions fournies dans la rubrique Télécharger le Kit de pilotes pour Windows (WDK) et vérifiez que vous avez bien appliqué les étapes suivantes :

  1. Installer Visual Studio 2019 avec le charge de travail Développement Desktop en C++ et la bonne version du SDK Windows 10.

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

  3. Installer l'extension du Kit de pilotes Windows (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 Fichier>Nouveau>Projet.

  2. Dans la fenêtre Nouveau projet, dans la zone de recherche en haut à droite, tapez pilote d’imprimante v4 et appuyez sur Entrée. Vous récupérez ainsi 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 sur leurs paramètres par défaut et sélectionnez Suivant.

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

  8. Dans la section Informations sur l’installation (page 2) de l’Assistant, laissez toutes les options sur 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 de projet pour MyV4PrintDriver.

Vérifier les fichiers de pilotes 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 par défaut : Mes documents > Visual Studio 2019 > Projets > 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 sur l’installation
    MyV4PrintDriver.vcxproj Fichier de 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

Vous noterez 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 complété pour pouvoir être utilisé pour installer le pilote.

Créer un PrinterDriverID unique pour le pilote

  1. Dans le menu des Outils Visual Studio, 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 l'Explorateur de solutions, développez le nœud MyV4PrintDriver.

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

Compléter le fichier INF

Dans le projet MyV4PrintDriver, il doit y avoir une entrée pour les Fichiers de pilote. Ouvrez ce répertoire et le fichier MyV4PrintDriver.inf doit se trouver dedans. Ouvrez ce fichier.

Les 2 premières lignes du fichier INF forment la mention de copyright pour le package de pilotes.

La ligne 1 présente 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 <Your manufacturer name> par le nom de votre entreprise.

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

Par exemple, si l’année est 2021, 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érifier que la section [Version] est correcte

Recherchez la ligne indiquant [Version].

  • Vérifiez et assurez-vous que vous voyez cette ligne :

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

    Signature="$WINDOWS NT$"
    

3. Configurer la section [SourceDisksFiles]

Recherchez la ligne contenant [SourceDisksFiles].

En dessous, saisissez les lignes 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].

En dessous, saisissez les lignes 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 section Install du fichier INF pour chaque modèle. Par exemple, si le modèle de votre imprimante est Fabrikam 1234, vous devez saisir ce qui suit :

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

6. Ajouter le PrinterDriverID au fichier INF

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

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

Dans le fichier INF, dans la section [Standard.NT$ARCH$], saisissez 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$] complète doit ressembler à ce qui suit :

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

7. Configurer la section [Strings]

Recherchez la ligne contenant [Strings].

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

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

ManufacturerName="Fabrikam"

8. Enregistrer le fichier INF

Une fois que vous avez complété le fichier INF, il doit ressembler à cela :

; 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 pilote

  1. Dans Visual Studio, dans l'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 de pilote.

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

Ajouter le fichier de configuration du pipeline au package de pilotes

  1. Dans l’Explorateur de solutions, sélectionnez et maintenez (ou faites un clic droit sur) 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 Installation du pilote, puis sélectionnez Fichiers de package.

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

    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.xml, puis cliquez sur OK.

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

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

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

  2. Sélectionnez et maintenez (ou faites un clic droit sur) le nœud Références->, puis sélectionnez Ajouter une référence.

  3. Cochez la case MyV4PrintDriver Render Filter, puis sélectionnez OK.

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

  1. Dans l’Explorateur de solutions, sélectionnez et maintenez (ou faites un clic droit sur) 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 Installation du pilote, puis sélectionnez Déploiement. Procédez comme suit dans le volet de droite :

    • Assurez-vous 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.

    • Cochez 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 de pilote d’imprimante par défaut dans la liste déroulante.

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

    • Cliquez sur OK.

Configurer la signature de pilote

  1. Dans l’Explorateur de solutions, sélectionnez et maintenez (ou faites un clic droit sur) 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 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 Certificat test, puis sélectionnez Créer un certificat test... dans la liste déroulante.

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

  7. Cliquez sur OK.

Créer et déployer le pilote

  1. Dans l'Explorateur de solutions, sélectionnez et maintenez (ou faites un clic droit sur) 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 de Sortie.

Tester le pilote

Créez une file d’attente d’impression à l’aide d'une option 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 INF de pilote V4.

En plus des fichiers du tableau précédent, notez qu’un dossier MyV4PrintDriver Render Filter 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 la rubrique Module de rendu XPSDrv.