Druckertreiberarchitektur

Wichtig

Es wird empfohlen, den IPP-Klassentreiber von Microsoft zusammen mit Druckunterstützungs-Apps (PSA) zu verwenden, um die Druckoberfläche in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie im Leitfaden zum Erstellen von Druckunterstützungs-Apps.

Druckaufträge werden von Anwendungen über Aufrufe von Microsoft Win32 GDI oder in Windows Vista Windows Presentation Foundation (WPF)-Funktionen erstellt. Die Win32-Funktionen spoolen Anwendungsdaten als EMF-Datensätze für die spätere Wiedergabe durch den EMF-Druckprozessor, oder sie können sofort ein druckbares Bild für jede Dokumentseite rendern. Die WPF-Funktionen spoolen Anwendungsdaten als XPS-Spooldatei.

Vor Windows Vista haben Anwendungen druckereinstellungen mithilfe einer DEVMODEW-Struktur an den Drucker übermittelt. In Windows Vista kommunizieren die Technologien "Druckticket" und "Druckfunktionen" Druckereinstellungen, sodass Druckereinstellungen drucker- und anwendungsübergreifend besser kompatibel sind.

Das Bildrendering wird im Drucktreiber ausgeführt, unabhängig davon, ob es sofort oder während der Druckverarbeitung erfolgt:

  • Ein GDI-basierter Druckertreiber führt das Bildrendering während der Wiedergabe von EMF-Datensätzen aus der Spooldatei aus und wird von der GDI-Rendering-Engine gesteuert. Während des Renderingvorgangs ruft die GDI-Rendering-Engine den entsprechenden Druckertreiber für Windows 2000 und höher zur Unterstützung auf.

  • XPSDrv-Drucktreiber verwenden eine Reihe von Verarbeitungsfiltern, um den Inhalt der XPS-Spooldatei für die Ausgabe an den Drucker zu verarbeiten.

Windows 2000 und höher GDI-basierte Druckertreiber müssen:

  • Unterstützen Sie GDI beim Rendern von Druckaufträgen, indem Sie druckerspezifische Zeichnungsfunktionen bereitstellen, die von GDI nicht unterstützt werden können.

  • Senden sie den Datenstrom des gerenderten Bilds an den Druckspooler.

  • Stellen Sie eine Benutzeroberfläche für die änderbaren Konfigurationsparameter bereit, die Druckern und Druckdokumenten zugeordnet sind, z. B. welche Eingabe- und Ausgabefächer ausgewählt sind, die Anzahl der Kopien, die Bildauflösung und -ausrichtung usw.

XPSDrv-Druckertreiber haben die gleiche Verantwortung für die Benutzeroberfläche wie die GDI-basierten Treiber und sind auch für die Verarbeitung der Druckauftragsdaten und das Senden der Daten an den Drucker verantwortlich. XPSDrv-Druckertreiber müssen jedoch nicht GDI verwenden, um die Seitenbilder für den Drucker zu rendern.

Druckertreiber unter Windows 2000 und höher bestehen aus einer Reihe von Druckertreiberkomponenten , die die Zeichnungs- und Benutzeroberflächenvorgänge eines Treibers in separate DLLs unterteilen. XPSDrv-Druckertreiber bestehen auch aus Komponenten, die die Konfiguration und die Zeichnungs- und Renderingfunktionen in separate Objekte unterteilen.

Dieser Abschnitt soll Ihnen helfen, die verschiedenen Arten von Druckertreibern zu verstehen, die von Windows 2000 und höheren Betriebssystemen unterstützt werden, aber Sie sollten auch daran denken, dass die folgenden drei Druckertreiber mit dem Betriebssystem ausgeliefert werden:

Microsoft Universal Printer Driver

Microsoft PostScript-Druckertreiber

Microsoft Plotter-Treiber

Diese drei Treiber unterstützen die meisten Druckgeräte, die Endbenutzer heute erwerben können. Sie müssen einen Druckertreiber nur schreiben, wenn Ihr Druckgerät nicht mit dem entsprechenden von Microsoft bereitgestellten Treiber kompatibel ist. Sie können die meisten neuen Drucker unterstützen, indem Sie einfach eine Druckerdatendatei zu einem der von Microsoft bereitgestellten Treiber hinzufügen. Geräte, die möglicherweise einen neuen Treiber erfordern, enthalten Hardware-Zeichnungsbeschleuniger, die durch proprietäre Befehlssequenzen gesteuert werden.

Dieser Abschnitt enthält die folgenden Themen, in denen die Windows-Druckarchitektur beschrieben wird.

XPSDrv-Druckertreiber

GDI-Druckertreiber

Technologien für Drucktickets und Druckfunktionen

Schreiben von 64-Bit-Druckertreibern