Freigeben über


V4-Treibermanifest

Wichtig

Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie im Print support app design guide.

Das v4-Drucktreibermanifest ist eine Textdatei, die alle druckerspezifischen Setupdirektiven enthält. Ein v4-Drucktreibermanifest wird mit einer V4-Drucktreiber-INF-Datei als Teil des Setups für einen druckerspezifischen v4-Drucktreiber verwendet.

Die Direktiven in einem Manifest sind in Abschnitte unterteilt:

DriverConfig-Abschnitt

In der folgenden Tabelle sind die Direktiven aufgeführt, die im Abschnitt "DriverConfig" verwendet werden.

Anweisung Beschränkungen Verbrauch
RequiredFiles

Enthält Dateien aus ntprint.inf oder ntprint4.inf.

Die RequiredFiles-Direktive unterstützt den folgenden Wert in Windows 10:

PWGRRenderFilter.dll: Fügt den Microsoft PWG Raster-Renderingfilter zur Liste abhängiger Dateien des Treibers hinzu.

Für den Renderfilter "PWG Raster"-Renderfilter muss der Treiber eine PrintDeviceCapabilities-Datei für die Konfiguration verwenden.
Unidrv.dll, pscript5.dll und mxdwdrv.dll sollten aus dieser Liste weggelassen werden. Sie werden automatisch aufgelöst. Beispiele:

RequiredFiles=
UNIRES.DLL,
STDNAMES. GPD
V3HOSTINGFILTER.DLL
RequiredClass

Bewirkt, dass dieser Treiber alle Dateien eines definierten Klassentreibers mithilfe des Treiber-/Anzeigenamens des Geräts und seiner GUID als Schlüssel enthält. Dies ist der Mechanismus zum Verknüpfen eines Druckklassentreibers mit einem modellspezifischen Treiber.
Die RequiredClass-Direktive kann nicht von einem Klassentreiber verwendet werden. Wenn Sie RequiredClass verwenden, sollten Sie Dateinamenkonflikte zwischen dem Druckertreiber und dem Druckerklassentreiber vermeiden, mit dem Sie eine Verknüpfung herstellen.

Obwohl Dateien mit ähnlichen Namen nicht gegenseitig überschrieben werden, kann es während der Problembehandlung schwierig sein, zwischen der Klassentreiberpaketdatei und der Datei vom v4-Druckertreiber zu unterscheiden.
Beispiel:

RequiredClass=
"Fabrikam PCL5e Class Driver",(9343720D-B67E-4451-B93F-6F721C439771)
DriverFile

Dies verweist auf die Rendering-Binärdatei. Mxdwdrv ist der Standardwert, klassentreiber können jedoch alternativ unidrv.dll oder pscript5.dll angeben. Dies ist funktional identisch mit der gleichen Direktive in einer v3 INF.
Kann nur in einem Klassentreiber festgelegt werden. Gültige Optionen sind unidrv.dll oder pscript5.dll. V4-Drucktreiber erben entweder von einer RequiredClass oder standardmäßig auf mxdwdrv.dll DriverFile=unidrv.dll
DataFile

Dadurch wird die primäre GPD oder PPD für diesen Treiber definiert. Dies ist funktional identisch mit der gleichen Direktive in einer v3 INF.

In Windows 10 können v4-Drucktreiber weiterhin eine GPD- oder PPD DataFile-Datei angeben. Sie können jedoch auch eine DataFile beschreiben, die sich im PrintDeviceCapabilities-Format befindet.
Erforderlich. Beispiele:

DataFile=FAPDL.gpd
DataFile=FAPDL.xml
DataFileType

Der DataFileType muss beim Beschreiben einer PrintDeviceCapabilities-Datei als DataFile verwendet werden und kann auch mit einer GPD- oder PPD-basierten DataFile-Datei verwendet werden.
Erforderlich für printDeviceCapabilities-Datei. Beispiel:

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

Dies wird verwendet, um optionale Attribute anzugeben, die dem Treiber zugeordnet sind.

NotShareable: Dieses Flag gibt an, dass der Treiber nicht freigegeben werden kann. Dies ist für virtuelle Treiber wie microsoft XPS Document Writer geeignet.

SoftResetOnJobCancellation: Dieses Flag gibt an, dass für das Gerät beim Abbruch des Druckauftrags ein USB-Soft Reset (IOCTL_USBPRINT_SOFT_RESET) erforderlich ist. ArchiveEnabled Der v4-Treiber verwendet dieses Flag, um archivoptimierte XPS als Spooldatei anzufordern.
Keine. Beispiele:

Flags=
NotShareable,
SoftResetOnJobCancellation
Flags=
ArchiveEnabled,NotShareable
PrinterDriverID

Dies ist eine eindeutige ID, die den Drucktreiber beschreibt. Wenn zwei Treiber dieselbe PrinterDriverID angeben, müssen sie für die Freigabe kompatibel sein und dieselben Druckererweiterungen unterstützen.
Erforderlich. PrinterDriverID=
{guid}
PropertyBag

Gibt einen Treibereigenschaftenbehälter für diesen Treiber an. Dies ist eine kompilierte Datei, die von DriverPropertyBagTool.exe oder Visual Studio generiert wird.
Keine. PropertyBag=
FAProperty.dpb
ResourceFile

Definiert den Namen der Zeichenfolgenressourcen-DLL des Treibers.

In Windows 10 können Treiber eine ResourceFile im RESX-Format angeben.
Keine. Beispiele:

ResourceFile=
FARC.dll
ConstraintScript

Definiert den Namen der JavaScript-Einschränkungsdatei des Treibers.
Keine. ConstraintScript=
FAConst.js
DriverCategory

Definiert die Kategorie des Geräts zwischen einer von mehreren Optionen. Gültige Optionen sind wie folgt:
PrintFax.Fax PrintFax.Printer PrintFax.Printer.3D PrintFax.Printer.File PrintFax.Printer.Service PrintFax.Printer.Virtual
Erforderlich. DriverCategory=
PrintFax.Printer

Weitere Informationen zu anderen Treiberkategorien finden Sie unter Drucker INF-Dateieinträge.
PrinterExtensionUrl

Gibt eine URL für den Benutzer an, um eine Kopie der Druckererweiterungs-App abzurufen. Wird in der Druckerfreigabe verwendet.
Keine. PrinterExtensionUrl=
"https://www.fabrikam.com/files/setup.exe";
DevModeMap

Gibt die Devmode-Zuordnungsdatei an. Dies ist eine XML-Datei, die mit printTicket to DEVMODE-Konvertierung im JavaScript-Code verwendet wird.
Keine. DevModeMap=
fadmmap.xml
EventFile

Gibt die XML-Datei des Treiberereignisses an.
Keine. EventFile=
faevents.xml
QueueProperties

Gibt das Format eines Warteschlangeneigenschaftenbehälters an. Dies ist eine XML-Datei und darf NICHT kompiliert werden.
Keine. QueueProperties=
faQueueProps.xml
BidiUSBStatusInterface

Gibt eine Liste der Hardware-IDs an, die einer oder mehreren Geräteschnittstellen entsprechen, die für die USB-Bidi-Kommunikation verwendet werden sollen.
Keine, aber sollte nur unterstützt werden, wenn der Status über eine USB-Schnittstelle erfolgt, die nicht die Druckschnittstelle ist. BidiUSBStatusInterface=
"USB\vid_1234&pid_1234",
"USB\vid_1234&pid_4567"
UserPropertyBagScope

Diese Direktive gibt den Bereich des Benutzereigenschaftenbehälters entweder als Warteschlange oder Hersteller an.
Wenn diese Direktive nicht angegeben wird, ist "Queue" der Standardwert. Gültige Optionen für diese Direktive sind wie folgt:

Warteschlange: Dies ist die Standardkonfiguration und entspricht dem Windows 8-Verhalten. Hersteller: Alle Warteschlangen, die dieselbe Herstellerzeichenfolge in der INF verwenden, verwenden denselben Benutzereigenschaftenbehälter.
Keine. UserPropertyBagScope=
Hersteller
RetrievePrintDeviceCapabilitiesFromDevice

v4-Treiber können angeben, dass sie eine PrintDeviceCapabilities-Datei von WS-Print v2.0-Druckern abrufen müssen, solange sie eine PrintDeviceCapabilities-Datei als "DataFile" des Treibers und "DataFileType" festlegen, dass "DataFile" vom MIME-Typ "application/vnd.ms-PrintDeviceCapabilities+xml" ist.

Gültige Optionen:

True: Ermöglicht es, die lokale DataFile des Treibers durch die PrintDeviceCapabilities-Datei vom Gerät zu ersetzen.

False: Die lokale DataFile des Treibers wird nicht durch die PrintDeviceCapabilities-Datei vom Gerät ersetzt.

Wenn nicht angegeben, ist der Standardwert dieser Direktive "false".
Keine. Beispiel:

RetrievePrintDeviceCapabilitiesFromDevice=
true

BidiFiles-Abschnitt

Der Abschnitt "BidiFiles" wird verwendet, um Bidi-Erweiterungsdateien zu definieren. Es ist identisch mit dem Windows 7-Format für TCP und WSD. Die USB-Schlüsselwörter sind neu.

In der folgenden Tabelle sind die Direktiven aufgeführt, die im Abschnitt "BidiFiles" verwendet werden.

Anweisung Beschränkungen Verbrauch
BidiSPMFile
Dadurch wird die Bidi-Erweiterungsdatei für einen TCP/IP-basierten Drucker definiert.
Keine. BidiSPMFile=FaBidiSPM.xml
BidiWSDFile
Dadurch wird die Bidi-Erweiterungsdatei für einen WSD-basierten Drucker definiert.
Keine. BidiWSDFile=FABidiWSD.xml
BidiUSBFile
Dadurch wird die Bidi-Erweiterung für USB definiert.
Keine. BidiUSBFile=FABidiUSB.xml
BidiUSBJSFile
Dadurch wird die JavaScript-Erweiterung für USB definiert.
Keine. BidiUSBJSFile=FABidiUSBJS.js

DriverRender-Abschnitt

In der folgenden Tabelle sind die Direktiven aufgeführt, die im Abschnitt "DriverRender" verwendet werden.

Anweisung Beschränkungen Verbrauch
PageOutputQuality. [OptionName]
Ändert die Bildkomprimierung basierend auf dem Wert im Auftrag PrintTicket für PageOutputQuality
OptionName muss ein Im Standard PrintSchema-Namespace angegebener Name sein. PageOutputQuality.Draft=
MxdcImageType.JPEGHigh

PageOutputQuality.Normal=
MxdcImageType.JPEGMedium

PageOutputQuality.High=
MxdcImageType.PNG
XpsFormat
Ändert das vom Drucksystem für diesen Treiber generierte XPS-Format. Es können mehrere Werte angegeben werden, und die Reihenfolge stellt die Einstellung des Treibers dar.
Nicht verfügbar für die Verwendung in Klassentreibern, die Unidrv/PScript-Rendering verwenden. XpsFormat=XPS

XpsFormat=OpenXPS

XPSFormat=OpenXPS,XPS

XPSFormat=XPS,OpenXPS
Ausgabeformat
Die OutputFormat-Direktive beschreibt eine einzelne PDL, die von diesem Treiber mithilfe eines MIME-Typs generiert wird.
Diese Informationen werden während des CreateJob- oder CreateJob2-Vorgangs für WSD-Drucker verwendet.
Keine. Zu den gültigen Verwendungstypen gehören:

OutputFormat=
"Anwendung/Ochsen"

OutputFormat=
"application/vnd.ms-xpsdocument"

OutputFormat=
"image/pwg-raster"

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

Alle anderen gültigen definierten MIME-Typen können auch hier angegeben werden.

Das Schlüsselwort MxdcImageType für die PageOutputQuality-Direktive weist die folgenden zulässigen Werte auf:

MxdcImageType-Wert
MxdcImageType.JPEGHigh
JPEG mit hoher Komprimierung (kleinere Dateien)
MxdcImageType.JPEGMedium
Mittlere Komprimierung JPEG
MxdcImageType.JPEGLow
JPEG mit niedriger Komprimierung
MxdcImageType.PNG
PNG-Dateityp (größte Dateien)

FileSave-Abschnitt

Dieser Abschnitt unterstützt das Szenario zum Speichern von Dateien. Wenn ein v4-Drucktreiber mit dem neuen PORTPROMPT-Porttyp installiert wird, gibt dieser Abschnitt die Dateierweiterungen an, die im Fenster "Gemeinsame Datei " angezeigt werden sollen, und gibt außerdem die lokalisierbaren Ressourcenzeichenfolgen an, die die Erweiterungen und das Dialogfeld selbst unterstützen.

Anweisung Beschränkungen Verbrauch
<FileExtensionName>
Diese Direktive beschreibt die FileExtension, die beim Speichern einer Datei von diesem Treiber mithilfe des PORTPROMPT-Ports verwendet werden soll. Der Wert ist eine resourceID aus der ResourceFile des Treibers. Nur für XPS und OXPS kann eine ResourceID von 0 angegeben werden, und der Druckspooler verwendet seine internen Ressourcen für diese.
Keine. <FileExtensionName>=
<resourceID>
Xps=1234
SaveAsTitle
Diese Direktive beschreibt den Titel, der im Dialogfeld "Datei speichern" verwendet werden soll. Der Wert ist eine resourceID aus der ResourceFile des Treibers.
Keine. SaveAsTitle=
<resourceID>
SaveAsTitle=4321

PrinterExtensions-Abschnitt

Der Abschnitt "PrinterExtensions" gibt eine Druckererweiterung und die unterstützten Aufrufmodi an. Für beide Einträge wird die App automatisch beim Drucksystem registriert. Darüber hinaus wird die App mit zwei verschiedenen Parametern konfiguriert, der PrinterDriverID und der ReasonID in dieser Reihenfolge. Daher muss jeder Eintrag eine andere PrinterExtensionID-GUID verwenden.

In der folgenden Tabelle sind die Direktiven aufgeführt, die im Abschnitt "PrinterExtensions" verwendet werden.

Anweisung Beschränkungen Verbrauch
DriverEvent
App-Wartung des DriverEvent-Modus.
Keine. DriverEvent=
app.exe,{extensionID GUID}
PrintPreferences
App-Wartung des PrintPreferences-Modus.
Keine. PrintPreferences=
app.exe, {extensionID GUID}

Nachfolgend sehen Sie ein Beispiel für ein v4-Drucktreibermanifest.

[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}

Drucker-INF-Dateieinträge