Partager via


Manifeste du pilote V4

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 la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Le manifeste du pilote d'impression v4 est un fichier texte qui contient toutes les directives de configuration spécifiques à l'imprimante. Un manifeste de pilote d'impression v4 est utilisé avec un fichier INF de pilote d'impression v4, dans le cadre de la configuration d'un pilote d'impression v4 spécifique à l'imprimante.

Les directives d'un manifeste sont organisées en sections :

Section DriverConfig

Le tableau suivant présente les directives utilisées dans la section DriverConfig.

Directive Restrictions Utilisation
RequiredFiles

Inclut les fichiers de ntprint.inf ou ntprint4.inf.

La directive RequiredFiles prend en charge la valeur suivante dans Windows 10 :

PWGRRenderFilter.dll : Ajoute le filtre de rendu Microsoft PWG Raster à la liste des fichiers dépendants du pilote.

Le filtre de rendu PWG Raster nécessite que le pilote utilise un fichier PrintDeviceCapabilities pour la configuration.
Unidrv.dll, pscript5.dll et mxdwdrv.dll doivent être omis de cette liste. Ils seront résolus automatiquement. Exemples :

Fichiers requis=
UNIRES.DLL,
STDNAMES.GPD,
V3HOSTINGFILTER.DLL
RequiredClass

Oblige ce pilote à inclure tous les fichiers d'un pilote de classe définie en utilisant le nom convivial de l'appareil et son GUID comme clé. Il s'agit du mécanisme permettant de lier un pilote de classe d'impression à un pilote spécifique à un modèle.
La directive RequiredClass ne peut pas être utilisée par un pilote de classe. Lorsque vous utilisez la directive RequiredClass, vous devez éviter les collisions de noms de fichiers entre le pilote d'imprimante et le pilote de classe d'impression vers lequel vous établissez un lien.

Bien que les fichiers portant des noms similaires ne s'écrasent pas les uns les autres, il peut être difficile, lors du dépannage, de faire la distinction entre le fichier du package du pilote de classe et le fichier du pilote d'imprimante v4.
Exemple :

RequiredClass=
"Pilote de classe PCL5e de Fabrikam", (9343720D-B67E-4451-B93F-6F721C439771)
DriverFile

Ceci pointe vers le binaire de rendu. Mxdwdrv est la valeur par défaut, mais les pilotes de classe peuvent spécifier unidrv.dll ou pscript5.dll. Cette directive est fonctionnellement identique à celle d'un INF v3.
Ne peut être définie que dans un pilote de classe. Les choix valides sont unidrv.dll ou pscript5.dll. Les pilotes d'impression de la version 4 héritent d'une classe requise ou utilisent par défaut mxdwdrv.dll. DriverFile=unidrv.dll
DataFile

Ceci définit le GPD ou PPD principal pour ce pilote. Cette directive est fonctionnellement identique à celle d'un INF v3.

Dans Windows 10, les pilotes d'impression v4 peuvent continuer à spécifier un fichier de données GPD ou PPD, mais ils peuvent également décrire un fichier de données au format PrintDeviceCapabilities.
Obligatoire. Exemples :

Fichier de données=FAPDL.gpd
Fichier de données=FAPDL.xml
DataFileType

Le type DataFileType doit être utilisé pour décrire un fichier PrintDeviceCapabilities en tant que fichier de données, et peut également être utilisé avec un fichier de données basé sur GPD ou PPD.
Requis pour le fichier PrintDeviceCapabilities. Exemple :

DataFileType=
"application/vnd.ms-PrintDeviceCapabilities+xml"
Indicateurs

Permet de spécifier les attributs facultatifs associés au pilote.

NotShareable : Cet indicateur indique que le pilote n'est pas partageable. Ceci est approprié pour les pilotes virtuels tels que Microsoft XPS Document Writer.

SoftResetOnJobCancellation : Cet indicateur indique que l'appareil nécessite une réinitialisation logicielle USB (IOCTL_USBPRINT_SOFT_RESET) en cas d'annulation de la tâche d'impression. ArchiveEnabled Le pilote v4 utilise cet indicateur pour requérir un fichier XPS optimisé pour l'archivage en tant que fichier spool.
Aucune. Exemples :

Flags=
Non partageable,
SoftResetOnJobCancellation
Flags=
ArchiveEnabled,NotShareable
PrinterDriverID

Il s'agit d'un ID unique qui décrit le pilote d'impression. Si deux pilotes spécifient le même PrinterDriverID, ils doivent être compatibles pour le partage et prendre en charge les mêmes extensions d'imprimante.
Obligatoire. PrinterDriverID=
{guid}
PropertyBag

Spécifie un sac de propriétés pour ce pilote. Il s'agit d'un fichier compilé généré par DriverPropertyBagTool.exe ou Visual Studio.
Aucune. PropertyBag =
FAProperty.dpb
ResourceFile

Définit le nom de la DLL de ressource de chaîne de caractères du pilote.

Dans Windows 10, les pilotes peuvent spécifier un ResourceFile en utilisant le format .resx.
Aucune. Exemples :

FichierRessource=
FARC.dll
ConstraintScript

Définit le nom du fichier de contrainte JavaScript du pilote.
Aucune. ConstraintScript=
FAConst.js
Catégorie de conducteur

Définit la catégorie de l'appareil entre une de plusieurs options. Les options valides sont les suivantes
PrintFax.Fax PrintFax.Printer PrintFax.Printer.3D PrintFax.Printer.File PrintFax.Printer.Service PrintFax.Printer.Virtual
Obligatoire. Catégorie de pilote=
PrintFax.Printer

Pour plus d'informations sur les autres catégories de pilotes, voir Entrées du fichier INF de l'imprimante.
PrinterExtensionUrl

Spécifie une URL permettant à l'utilisateur d'obtenir une copie de l'application d'extension d'imprimante. Utilisé dans le cadre du partage d'imprimantes.
Aucune. PrinterExtensionUrl=
"https://www.fabrikam.com/files/setup.exe";
DevModeMap

Spécifie le fichier de mappage Devmode. Il s'agit d'un fichier XML utilisé pour la conversion de PrintTicket en DEVMODE dans le code JavaScript.
Aucune. DevModeMap=
fadmmap.xml
EventFile

Spécifie le fichier XML de l'événement pilote.
Aucune. EventFile=
faevents.xml
QueueProperties

Spécifie le format d'un sac de propriétés de file d'attente. Il s'agit d'un fichier XML qui ne doit PAS être compilé.
Aucune. QueueProperties=
faQueueProps.xml
BidiUSBStatusInterface

Spécifie une liste d'ID d'appareils correspondant à une ou plusieurs interfaces d'appareils à utiliser pour les communications USB Bidi.
Aucune, mais ne devrait être supportée que si le statut est effectué sur une interface USB qui n'est pas l'interface d'impression. BidiUSBStatusInterface=
"USB\vid_1234&pid_1234",
"USB\vid_1234&pid_4567"
UserPropertyBagScope

Cette directive spécifie la portée de la propriété utilisateur bag comme étant soit Queue, soit Manufacturer.
Si cette directive est omise, la valeur par défaut est Queue. Les options valides pour cette directive sont les suivantes :

Queue : Il s'agit de la configuration par défaut, qui correspond au comportement de Windows 8. Fabricant : Toutes les files d'attente qui utilisent la même chaîne Manufacturer dans l'INF utilisent le même sac de propriétés utilisateur.
Aucune. UserPropertyBagScope=
Fabricant
RetrievePrintDeviceCapabilitiesFromDevice

Les pilotes v4 peuvent spécifier qu'ils doivent récupérer un fichier PrintDeviceCapabilities à partir des imprimantes WS-Print v2.0, à condition qu'ils définissent un fichier PrintDeviceCapabilities comme DataFile du pilote et que le DataFileType indique également que le DataFile est de type MIME « application/vnd.ms-PrintDeviceCapabilities+xml ».

Options valides :

True : permet de remplacer le fichier DataFile local du pilote par le fichier PrintDeviceCapabilities de l'appareil.

False : Le fichier DataFile local du pilote ne sera pas remplacé par le fichier PrintDeviceCapabilities de l'appareil.

Si elle n'est pas spécifiée, la valeur par défaut de cette directive est false.
Aucune. Exemple :

RetrievePrintDeviceCapabilitiesFromDevice=
true

Section BidiFiles

La section BidiFiles est utilisée pour définir les fichiers d'extension Bidi. Elle est identique au format Windows 7 pour TCP et WSD. Les mots-clés USB sont nouveaux.

Le tableau suivant présente les directives utilisées dans la section BidiFiles.

Directive Restrictions Utilisation
BidiSPMFile
Ceci définit le fichier d'extension Bidi pour une imprimante basée sur TCP/IP.
Aucune. BidiSPMFile=FaBidiSPM.xml
BidiWSDFile
Cette directive définit le fichier d'extension Bidi pour une imprimante basée sur WSD.
Aucune. BidiWSDFile=FABidiWSD.xml
BidiUSBFile
Cette directive définit l'extension Bidi pour l'USB.
Aucune. BidiUSBFile=FABidiUSB.xml
BidiUSBJSFile
Cette section définit l'extension JavaScript pour l'USB.
Aucune. BidiUSBJSFile=FABidiUSBJS.js

Section DriverRender

Le tableau suivant présente les directives utilisées dans la section DriverRender.

Directive Restrictions Utilisation
PageOutputQuality.[OptionName]
Modifie la compression de l'image en fonction de la valeur du PrintTicket du travail pour PageOutputQuality
OptionName doit être un nom spécifié dans l'espace de noms standard PrintSchema. PageOutputQuality.Draft=
MxdcImageType.JPEGHigh

PageOutputQuality.Normal=
MxdcImageType.JPEGedium

PageOutputQuality.High= MxdcImageType.JPEGHigh
MxdcImageType.PNG
XpsFormat
Modifie le format XPS généré par le système d'impression pour ce pilote. Plusieurs valeurs peuvent être spécifiées et l'ordre représente la préférence du pilote.
Non disponible pour les pilotes de classe qui utilisent le rendu Unidrv/PScript. XpsFormat=XPS

XpsFormat=OpenXPS

XPSFormat=OpenXPS,XPS

XPSFormat=XPS,OpenXPS
OutputFormat
La directive OutputFormat décrit un PDL unique qui est généré par ce pilote en utilisant un type MIME.
Ces informations sont utilisées lors de l'opération CreateJob ou CreateJob2 pour les imprimantes WSD.
Aucune. Les types d'utilisation valables sont les suivants :

OutputFormat=
"application/oxps"

OutputFormat=
"application/vnd.ms-xpsdocument"

OutputFormat=
"image/pwg-raster"

OutputFormat=
"application/vnd.ms-3mfdocument"

Tout autre type MIME valide peut également être spécifié ici.

Le mot-clé MxdcImageType de la directive PageOutputQuality a les valeurs autorisées suivantes :

MxdcImageType valeur
MxdcImageType.JPEGHigh
JPEG haute compression (fichiers plus petits)
MxdcImageType.JPEGMedium
JPEG à compression moyenne
MxdcImageType.JPEGLow
JPEG à faible compression
MxdcImageType.PNG
Type de fichier PNG (fichiers les plus volumineux)

Section FileSave

Cette section prend en charge le scénario d'enregistrement de fichier. Lorsqu'un pilote d'impression v4 est installé avec le nouveau type de port PORTPROMPT, cette section spécifie les extensions de fichiers à afficher dans la fenêtre Fichier commun, ainsi que les chaînes de ressources localisables qui prennent en charge les extensions et la boîte de dialogue elle-même.

Directive Restrictions Utilisation
<Nom de l'extension de fichier>
Cette directive décrit l'extension FileExtension à utiliser lors de l'enregistrement d'un fichier à partir de ce pilote en utilisant le port PORTPROMPT. La valeur est un identifiant de ressource (resourceID) provenant du fichier de ressources (ResourceFile) du pilote. Pour XPS et OXPS uniquement, un resourceID de 0 peut être spécifié et le spooler d'impression utilisera ses ressources internes pour cela.
Aucune. <Nom de l'extension de fichier>=
<resourceID>
Xps=1234
SaveAsTitle
Cette directive décrit le titre à utiliser dans la boîte de dialogue Enregistrer le fichier. La valeur est un identifiant de ressource (resourceID) provenant du fichier de ressources (ResourceFile) du pilote.
Aucune. SaveAsTitle=
<resourceID>
SaveAsTitle=4321

Section PrinterExtensions

La section PrinterExtensions spécifie une extension d'imprimante et les modes d'invocation qu'elle prend en charge. Pour ces deux entrées, l'application sera automatiquement enregistrée auprès du système d'impression. En outre, l'application est configurée avec deux paramètres différents, le PrinterDriverID et le ReasonID, dans cet ordre. Par conséquent, chaque entrée doit utiliser un GUID PrinterExtensionID différent.

Le tableau suivant montre les directives utilisées dans la section PrinterExtensions.

Directive Restrictions Utilisation
DriverEvent
Application gérant le mode DriverEvent.
Aucune. DriverEvent=
app.exe,{extensionID GUID}
PrintPreferences
Application gérant le mode PrintPreferences.
Aucune. PrintPreferences=
application.exe, {extensionID GUID}

Vous trouverez ci-dessous un exemple de manifeste de pilote d'impression v4.

[DriverConfig]
DataFile=FAPDL.xml
RequiredFiles=UNIRES.DLL,STDNAMES.GPD,STDDTYPE.GDL,STDSCHEM.GDL,STDSCHMX.GDL,XPSSVCS.DLL,MSXPSINC.GPD,PWGRRenderFilter.DLL
ResourceFile=FARC.dll
PropertyBag=FAProperty.dpb
PrinterDriverID={GUID}
DriverCategory=PrintFax.Printer
ConstraintScript=faconst.js
EventFile=faevents.xml
PrinterExtensionUrl="https://www.fabrikam.com/download.asp?uiapp=120"
UserPropertyBagScope=Manufacturer
DataFileType="application/vnd.ms-PrintDeviceCapabilities+xml"
RetrievePrintDeviceCapabilitiesFromDevice=true

[BidiFiles]
BidiSPMFile=FABidiSPM.xml
BidiWSDFile=FABidiWSD.xml
BidiUSBFile=FaBidiUSB.xml
BidiUSBJSFile=FABidiUSBJS.js

[DriverRender]
PageOutputQuality.Draft=MxdcImageType.JPEGHigh
PageOutputQuality.Normal=MxdcImageType.JPEGMedium
PageOutputQuality.High=MxdcImageType.PNG
OutputFormat="image/pwg-raster"

[PrinterExtensions]
DriverEvent=FAapp.exe,{GUID}
PrintPreferences=FAapp.exe,{GUID2}

Entrées des fichiers INF d’imprimante