Drucker-INF-Dateieinträge
Wichtig
Die moderne Druckplattform ist die bevorzugte Methode von Windows für die Kommunikation mit Druckern. 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 unter Moderne Druckplattform und im Leitfaden zum Entwurf der Druckunterstützungs-App.
Damit eine Installationsanwendung einen Drucker auf einem Druckserver installieren kann, muss sie zunächst die Funktion AddPrinterDriverEx des Spoolers aufrufen, um Treiberdateien zu laden, und dann die Funktion AddPrinter des Spoolers aufrufen, damit der Drucker auf dem Server verfügbar ist.
Die Funktion AddPrinterDriverEx erfordert eine DRIVER_INFO_3-Struktur als Eingabe. Die Funktion AddPrinter erfordert eine PRINTER_INFO_2-Struktur als Eingabe. Das Standardinstallationsprogramm für Druckerklassen, „Ntprint.dll“, liest Drucker-INF-Dateien, um Zeichenfolgenwerte abzurufen, die in diesen Strukturen platziert werden müssen, bevor die Funktionen aufgerufen werden.
Es wurde ein Satz von INF-Dateieinträgen für Druckertreiber definiert, die „Ntprint.dll“ erkennt. Diese Einträge haben das folgende Format:
Eintragsname = Wert
Dabei ist Eintragsname eine Zeichenfolge, die den Eintrag identifiziert, und Wert ist ein Zeichenfolgenwert, der dem Eintrag zugewiesen ist.
In der folgenden Tabelle werden INF-Dateieinträge aufgelistet, die in Drucker-INF-Dateien enthalten sein sollten. Die Tabelle enthält für jeden Eintrag die folgenden Elemente:
Der Wert, der dem Eintrag zugewiesen werden soll.
Der Standardwert, den „Ntprint.dll“ verwendet, wenn der Eintrag nicht definiert ist.
Das Strukturelement, in dem „Ntprint.dll“ einen Zeiger auf den Eintragswert platziert.
INF-Dateieintrag | Wert | Standardwert (wenn kein Eintragswert angegeben ist) | Strukturelement |
---|---|---|---|
ConfigFile | Der Name der Druckerschnittstellen-DLL des Treibers. | Der für DriverFile angegebene Wert. | pConfigFile-Element der DRIVER_INFO_3-Struktur |
DataFile | Der Name der zugeordneten Datendatei eines Treibers, z. B. einer PPD-Datei. | Der Abschnittsname des Treibers innerhalb der INF-Datei. | pDataFile-Element der DRIVER_INFO_3-Struktur |
DefaultDataType | Nicht mit NT-basierten Betriebssystemen verwendet. | ||
DriverCategory | Siehe Anmerkung 1 nach dieser Tabelle. | Wenn die INF-Datei keine Treiberkategorie angibt (wie die meisten v3-Treiber), wird davon ausgegangen, dass die Kategorie des Treibers PrintFax.Printer ist. | Keine |
DriverFile | Der Name der Drucker-Grafik-DLL des Treibers. | Der Abschnittsname des Treibers innerhalb der INF-Datei. | pDriverPath-Element der DRIVER_INFO_3-Struktur |
ExcludeFromSelect | Siehe Anmerkung 2 nach dieser Tabelle. | Keine | Keine |
HelpFile | Der Name der Hilfedatei der Schnittstellen-DLL. | Keine. Es ist keine Hilfedatei angegeben. | pHelpFile-Element der DRIVER_INFO_3-Struktur |
LanguageMonitor | Der Name eines Sprachmonitors, der dem Druckertreiber zugeordnet werden soll. Weitere Informationen finden Sie im Abschnitt Wertformat „LanguageMonitor“. | Keine. Es ist kein Sprachmonitor angegeben. | pMonitorName-Element der DRIVER_INFO_3-Struktur |
PrintProcessor | Der Name eines Druckprozessors, der der Druckerwarteschlange zugeordnet werden soll. Weitere Informationen finden Sie im Abschnitt Wertformat „PrintProcessor“. | Der Standarddruckprozessor (WinPrint) wird verwendet. | pPrintProcessor-Element der DRIVER_INFO_2-Struktur |
VendorSetup | Der Name einer Funktion innerhalb einer vom Hersteller bereitgestellten DLL, die benutzerdefinierte Druckereinrichtungsvorgänge verarbeitet. | Keine. Siehe Anmerkung 3 nach dieser Tabelle. | Keine |
InboxVersionRequired | Die Mindestversion, die für alle Kerntreiber akzeptabel ist, auf die die INF verweist. Weitere Informationen zu „InboxVersionRequired“ finden Sie unter Anweisung „INF InboxVersionRequired“. | Keine | Keine |
1 (DriverCategory): Wenn die INF-Datei eine Kategorie angibt, sind dies die zulässigen Werte (jeweils 0 bis 5) für die Angabe von Kategorien:
Treiberkategorie | Wert | Beschreibung |
---|---|---|
PrintFax.Printer | 0 | Eine Druckwarteschlange, die einen mit dem Computer verbundenen Drucker (über ein lokales Protokoll oder ein Netzwerkprotokoll) oder einen Proxy für einen physischen Drucker auf einem anderen Computer darstellt. Wenn der Benutzer auf einem physischen Drucker druckt, ist das Ergebnis Papier mit dem darauf gedruckten Dokument. |
PrintFax.Fax | 1 | Eine Druckwarteschlange, die ein physisches oder virtuelles Faxgerät darstellt. Wenn der Benutzer auf einem Faxdrucker druckt, ist das Ergebnis (möglicherweise nach weiteren Benutzerinteraktionen) das Senden eines Faxes. |
PrintFax.Printer.File | 2 | Eine Druckwarteschlange, die Softcopy-Dokumente generiert. Wenn der Benutzer auf einem Dateidrucker druckt, muss der Benutzer zunächst einen Dateinamen eingeben. Anschließend sendet der Spooler die gedruckte Ausgabe an diese Datei. Dateidrucker erfordern stets einen Dateinamen und akzeptieren keine anderen Benutzereingaben. Wenn dem Benutzer keine Option zur Angabe eines Dateinamens zur Verfügung steht, generiert die App einen Dateinamen, der dem Spooler zur Verfügung gestellt wird. Gängige Beispiele für Dateidrucker sind Microsoft XPS Document Writer (MXDW) und PDF-Writer. |
PrintFax.Printer.Virtual | 3 | Eine Druckwarteschlange mit einem Treiber, der einen Vorgang für gedruckte Daten ausführt, der für den Druckspooler nicht transparent ist. Wenn der Benutzer auf einem virtuellen Drucker druckt, gehören zu den möglichen Ergebnissen das Speichern des gedruckten Dokuments auf dem Computer, das Senden des gedruckten Dokuments an eine andere Anwendung oder das Senden des gedruckten Dokuments per E-Mail. Ein gängiges Beispiel für das Drucken auf einem virtuellen Drucker ist das Senden des gedruckten Dokuments an den Microsoft Office OneNote-Drucker. Wenn der Benutzer auf einem virtuellen Drucker druckt, kann eine weitere Benutzerinteraktion erforderlich sein, die vom Treiber oder einer Treiberkomponente initiiert wird. Weitere Informationen finden Sie unter Virtuelle Drucker in Drucker-INF-Dateien. |
PrintFax.Printer.Service | 4 | Eine Druckwarteschlange, die einen Druckdienst darstellt. Wenn der Benutzer zu einem Dienst druckt, besteht das Ergebnis darin, dass ein Drittanbieter den gedruckten Inhalt empfängt (möglicherweise nach weiteren Benutzerinteraktionen). Der Benutzer kann anschließend an einem physischen Standort des Drittanbieters die gedruckte Ausgabe abholen. |
PrintFax.Printer.3D | 5 | Eine Druckwarteschlange, die den Datenstrom für einen 3D-Drucker darstellt. Wenn diese Kategorie unbeabsichtigt für einen 2D-Drucker (einen regulären Drucker) angegeben wird, gibt der 2D-Drucker einfach den 2D-Inhalt des Datenstroms aus. Wenn diese Kategorie korrekt für einen 3D-Drucker angegeben wurde, aber ein 2D-Datenstrom an den 3D-Drucker gesendet wurde, generiert der 3D-Drucker keine Ausgabe. |
Beachten Sie außerdem, dass v4-Druckertreiber eine Manifestdatei verwenden. Weitere Informationen finden Sie unter V4-Treibermanifest.
Hinweis
2 (ExcludeFromSelect): Die Geräte-ID eines Geräts, das nicht im Dialogfeld Gerät auswählen oder im Assistenten „Drucker hinzufügen“ angezeigt werden soll. Für Drucker umfasst dies alle PnP-Einträge von Geräten mit doppelten Gerätebeschreibungen in der INF-Datei. Dies können beispielsweise Geräte mit mehreren Einträgen für Infrarot und parallele Enumeration oder für einen anderen Bus sein. Im Gegensatz zu allen anderen Einträgen in dieser Tabelle muss der Eintrag „ExcludeFromSelect“ im Abschnitt „Steuerungsflags“ der INF-Datei angezeigt werden. Weitere Informationen finden Sie im Abschnitt INF-Steuerungsflags.
Hinweis
3 (VendorSetup): Wenn kein VendorSetup-Eintrag angegeben ist, werden keine angepassten Einrichtungsvorgänge ausgeführt. Insbesondere ist während der Installation des Druckprozessors, des Druckmonitors oder des Druckertreibers keine Benutzeroberfläche zulässig, mit Ausnahme der Verwendung einer Benutzeroberfläche über den VendorSetup-INF-Eintrag. Weitere Informationen zu diesem Eintrag finden Sie unter Angepasste Druckereinrichtungsvorgänge.
Wichtig
Da „VendorSetup“ mittlerweile veraltet ist, sollten Sie „VendorSetup“ nicht für neue v3- oder v4-Treiber verwenden, die Sie entwickeln. Diese Informationen zu „VendorSetup“ dienen lediglich Referenzzwecken oder werden für die Wartung vorhandener v3-Treiber bereitgestellt, die diese INF-Anweisung bereits verwenden.
Drucker-INF-Dateieinträge werden in der Regel innerhalb der INF-Dateidatenabschnitte des Druckers angegeben. Beispiele finden Sie in den INF-Beispieldateien für Drucker.
Wertformat „LanguageMonitor“
Wenn ein LanguageMonitor-Eintrag in einer Drucker-INF-Datei enthalten ist, ist das Wertformat wie folgt:
LanguageMonitor=" MonitorName, MonitorDLLName "
Dabei ist MonitorName eine Textzeichenfolge, die den Anzeigenamen des Monitors darstellt, und MonitorDLLName ist der Dateiname der Monitor-DLL.
Wertformat „PrintProcessor“
Wenn ein PrintProcessor-Eintrag in einer Drucker-INF-Datei enthalten ist, ist das Wertformat wie folgt:
PrintProcessor=" PrintProcessorName, PrintProcessorDLLName "
Dabei ist PrintProcessorName eine Textzeichenfolge, die den Anzeigenamen des Druckprozessors darstellt, und PrintProcessorDLLName ist der Dateiname der DLL.
Abhängige Dateien
Eine abhängige Datei ist eine Druckertreiberdatei, die in einem Drucker-INF-Datei-Installationsabschnitt mit der dirid 66000 enthalten ist, jedoch nicht den Einträgen „DriverFile“, „DataFile“, „ConfigFile“ oder „HelpFile“ zugewiesen ist.
Das folgende Beispiel zeigt Auszüge aus einer INF-Datei, die drei abhängige Dateien installiert, indem sie diese in das Druckertreiberverzeichnis kopiert (d. h. in das durch dirid 66000 angegebene Verzeichnis):
[Contoso]
%PRINTER_MODEL_123%=Contoso_Install_Section,LPTENUM\Contoso_1284.4_P29C5
...
[Contoso_Install_Section]
CopyFiles=@Contoso.ini,@Contoso.xml,@Contoso.dll
...
[DestinationDirs]
DefaultDestDir=66000
...
[Strings]
PRINTER_MODEL_123 = "Contoso Printer Model 123"
In diesem Beispiel ist „Contoso.ini“ eine Drucker-INI-Datei, „Contoso.xml“ eine Bidi-Erweiterungsdatei und „Contoso.dll“ eine angepasste Komponente. Weitere Informationen zu Drucker-INI-Dateien, Bidi-Erweiterungsdateien und angepassten Komponenten finden Sie unter Installieren angepasster Treiberkomponenten und Bidirektionales Kommunikationsschema.
Point-and-Print-Vorgänge installieren sowohl die Treiberdateien als auch die treiberabhängigen Dateien auf dem Client.
Für jedes Druckermodell können maximal 64 abhängige Dateien angegeben werden.
Verwandte Artikel
Bidirektionales Kommunikationsschema
Installieren angepasster Treiberkomponenten