Share via


Manifeste du pilote V4

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP 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’imprimante.

Pour plus d’informations, consultez le Guide de conception de l’application 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é conjointement avec un fichier INF du 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 :

DriverConfig Section

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

Directive Restrictions Utilisation

RequiredFiles

Inclut des 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 Raster Microsoft PWG à la liste des fichiers dépendants du pilote.

Le filtre de rendu 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. Elles seront résolues automatiquement.

Exemples :

RequiredFiles=

UNIRES.DLL,STDNAMES. GPD

V3HOSTINGFILTER.DLL

RequiredClass

Fait en sorte que ce pilote inclue tous les fichiers d’un pilote de classe défini en utilisant le nom de pilote/convivial du périphérique et son GUID comme clé. Il s’agit du mécanisme permettant de lier un pilote printclass à un pilote spécifique au modèle.

La directive RequiredClass ne peut pas être utilisée par un pilote de classe. Lorsque vous utilisez RequiredClass, vous devez éviter les collisions de noms de fichiers entre le pilote d’imprimante et le pilote de classe d’impression auquel vous êtes lié.

Bien que les fichiers portant des noms similaires ne se remplacent pas, il peut être difficile lors de la résolution des problèmes de faire la distinction entre le fichier de package de pilotes de classe et le fichier du pilote d’imprimante v4.

Exemple :

RequiredClass=

« Fabrikam PCL5e Class Driver », {9343720D-B67E-4451-B93F-6F721C439771}

DriverFile

Cela pointe vers le binaire de rendu. Mxdwdrv est la valeur par défaut, mais les pilotes de classe peuvent également spécifier unidrv.dll ou pscript5.dll. Celle-ci est fonctionnellement identique à la même directive dans un INF v3.

Peut être défini uniquement dans un pilote de classe. Les choix valides sont unidrv.dll ou pscript5.dll. Les pilotes d’impression V4 héritent d’une classe RequiredClass ou sont mxdwdrv.dll

DriverFile=

unidrv.dll

Datafile

Cela définit le GPD principal ou PPD pour ce pilote. Celle-ci est fonctionnellement identique à la même directive dans un INF v3.

Dans Windows 10, les pilotes d’impression v4 peuvent continuer à spécifier un Fichier de données GPD ou PPD. Toutefois, ils peuvent également décrire un DataFile au format PrintDeviceCapabilities.

Obligatoire.

Exemples :

DataFile=FAPDL.gpd

DataFile=FAPDL.xml

DataFileType

Le DataFileType doit être utilisé lors de la description d’un fichier PrintDeviceCapabilities en tant que DataFile, et peut également être utilisé avec un fichier DataFile basé sur GPD ou PPD.

Obligatoire pour le fichier PrintDeviceCapabilities.

Exemple :

DataFileType=

« application/vnd.ms-PrintDeviceCapabilities+xml »

Indicateurs

Il est utilisé pour spécifier des attributs facultatifs supplémentaires associés au pilote.

NotShareable : cet indicateur spécifie que le pilote n’est pas partageable. Cela convient aux pilotes virtuels tels que Microsoft XPS Document Writer. SoftResetOnJobCancellation : cet indicateur spécifie que l’appareil nécessite une réinitialisation réversible USB (IOCTL_USBPRINT_SOFT_RESET) lors de l’annulation du travail d’impression. ArchiveEnabled Le pilote v4 utilise cet indicateur pour demander xpS optimisé pour l’archivage en tant que fichier de pool.

Aucun.

Exemples :

Flags=

NotShareable,

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 conteneur de propriétés de pilote pour ce pilote. Il s’agit d’un fichier compilé généré par DriverPropertyBagTool.exe ou Visual Studio.

Aucun.

PropertyBag=

FAProperty.dpb

ResourceFile

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

Dans Windows 10, les pilotes peuvent spécifier un ResourceFile au format .resx.

Aucun.

Exemples :

ResourceFile=

FARC.dll

ConstraintScript

Définit le nom du fichier de contraintes JavaScript du pilote.

Aucun.

ConstraintScript=

FAConst.js

DriverCategory

Définit la catégorie de l’appareil entre l’une des options suivantes. Les options valides sont les suivantes :

PrintFax.Fax PrintFax.Printer PrintFax.Printer.3D PrintFax.Printer.File PrintFax.Printer.Service PrintFax.Printer.Virtual

Obligatoire.

DriverCategory=

PrintFax.Printer

Pour plus d’informations sur d’autres catégories de pilotes, consultez Entrées de fichier INF d’imprimante.

PrinterExtensionUrl

Spécifie une URL permettant à l’utilisateur d’obtenir une copie de l’application d’extension Imprimante. Utilisé dans le partage d’imprimantes.

Aucun.

PrinterExtensionUrl=

"https://www.fabrikam.com/files/setup.exe";

DevModeMap

Spécifie le fichier de mappage Devmode. Il s’agit d’un fichier XML utilisé avec la conversion PrintTicket en DEVMODE dans le code JavaScript.

Aucun.

DevModeMap=

fadmmap.xml

EventFile

Spécifie le fichier XML d’événement du pilote.

Aucun.

EventFile=

faevents.xml

QueueProperties

Spécifie le format d’un conteneur de propriétés de file d’attente. Il s’agit d’un fichier XML qui ne doit PAS être compilé.

Aucun.

QueueProperties=

faQueueProps.xml

BidiUSBStatusInterface

Spécifie une liste d’ID matériels qui correspondent à une ou plusieurs interfaces d’appareil à utiliser pour les communications Bidi USB.

Aucun, mais ne doit être pris en charge que si l’état est effectué via 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 l’étendue du sac de propriétés utilisateur comme File d’attente ou Fabricant.

Si cette directive est omise, file d’attente est la valeur par défaut. Les options valides pour cette directive sont les suivantes :

File d’attente : il s’agit de la configuration par défaut et correspond au comportement 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.

Aucun.

UserPropertyBagScope=

Fabricant

RetrievePrintDeviceCapabilitiesFromDevice

Les pilotes v4 peuvent spécifier qu’ils doivent récupérer un fichier PrintDeviceCapabilities à partir d’imprimantes WS-Print v2.0, tant 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 :

Options valides :

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

False : le DataFile local du pilote n’est 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.

Aucun.

Exemple :

RetrievePrintDeviceCapabilitiesFromDevice=

true

BidiFiles Section

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

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

Directive Restrictions Usage

BidiSPMFile

Cela définit le fichier d’extension Bidi pour une imprimante TCP/IP.

Aucun.

BidiSPMFile=FaBidiSPM.xml

BidiWSDFile

Cela définit le fichier d’extension Bidi pour une imprimante WSD.

Aucun.

BidiWSDFile=FABidiWSD.xml

BidiUSBFile

Cela définit l’extension Bidi pour USB.

Aucun.

BidiUSBFile=FABidiUSB.xml

BidiUSBJSFile

Cela définit l’extension JavaScript pour USB.

Aucun.

BidiUSBJSFile=FABidiUSBJS.js

DriverRender Section

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

Directive Restrictions Usage

PageOutputQuality. [OptionName]

Modifie la compression d’image en fonction de la valeur dans le travail PrintTicket pour PageOutputQuality

OptionName doit être un nom spécifié dans l’espace de noms PrintSchema standard.

PageOutputQuality.Draft=

MxdcImageType.JPEGHigh

PageOutputQuality.Normal=

MxdcImageType.JPEGMedium

PageOutputQuality.High=

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 une utilisation dans 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 une seule PDL qui est générée par ce pilote à l’aide d’un type MIME.

Ces informations seront utilisées lors de l’opération CreateJob ou CreateJob2 pour les imprimantes WSD.

Aucun.

Les types d’utilisation valides sont les suivants :

OutputFormat=

« application/oxps »

OutputFormat=

« application/vnd.ms-xpsdocument »

OutputFormat=

« image/pwg-raster »

OutputFormat=

« application/vnd.ms-3mfdocument »

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

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

Valeur MxdcImageType

MxdcImageType.JPEGHigh

JPEG à compression élevée (fichiers plus petits)

MxdcImageType.JPEGMedium

Jpeg de compression moyenne

MxdcImageType.JPEGLow

JPEG à faible compression

MxdcImageType.PNG

Type de fichier PNG (fichiers les plus volumineux)

FileSave Section

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

Directive Restrictions Utilisation

<FileExtensionName>

Cette directive décrit l’objet FileExtension à utiliser lors de l’enregistrement d’un fichier à partir de ce pilote à l’aide du port PORTPROMPT. La valeur est un resourceID du ResourceFile du pilote. Pour XPS et OXPS uniquement, un resourceID de 0 peut être spécifié et le spouleur d’impression utilise ses ressources internes pour ceux-ci.

Aucun.

<FileExtensionName>=

<resourceID>

Xps=1234

SaveAsTitle

Cette directive décrit le titre à utiliser dans la boîte de dialogue Enregistrer le fichier. La valeur est un resourceID du ResourceFile du pilote.

Aucun.

SaveAsTitle=

<resourceID>

SaveAsTitle=

4321

PrinterExtensions Section

La section PrinterExtensions spécifie une extension d’imprimante et les modes d’appel qu’elle prend en charge. Pour ces deux entrées, l’application est automatiquement inscrite auprès du système d’impression. En outre, l’application sera 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

Maintenance de l’application en mode DriverEvent.

Aucun.

DriverEvent=

app.exe,{GUID extensionID}

PrintPreferences

Maintenance de l’application en mode PrintPreferences.

Aucun.

PrintPreferences=

app.exe, {EXTENSIONID GUID}

Voici 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 du fichier INF de l’imprimante