Freigeben über


Von Druckanbietern definierte Funktionen

Warning

Ab Windows 10 sind die APIs, die Druckanbieter von Drittanbietern unterstützen, veraltet. Microsoft empfiehlt keine Investition in Druckanbieter von Drittanbietern. Darüber hinaus können Drittanbieter unter Windows 8 und neueren Produkten, bei denen das v4-Drucktreibermodell verfügbar ist, keine Warteschlangen erstellen oder verwalten, die v4-Drucktreiber verwenden.

In diesem Thema werden alle Funktionen aufgeführt, die ein Druckanbieter bereitstellen kann. Die meisten dieser Funktionen werden in der Microsoft Windows SDK-Dokumentation beschrieben. Wenn die Funktion im Windows Driver Kit (WDK) beschrieben wird, stellt der Funktionsname einen Link zur zugeordneten Referenzseite bereit.

Alle Druckanbieter müssen Zeiger für alle aufgeführten Funktionen bereitstellen. Die meisten vom Anbieter bereitgestellten Druckanbieter sind jedoch "Teilanbieter", die nicht viele der von den Funktionen definierten Vorgänge unterstützen müssen. Therefore, many of the function pointers can be NULL. Weitere Informationen zu Teildruckanbietern finden Sie unter Schreiben eines Netzwerkdruckanbieters.

In den folgenden Funktionslisten werden funktionen, die unterstützt werden müssen, als "Erforderlich" bezeichnet.

All print providers must export the initialization function, InitializePrintProvidor. Pointers to all the other functions must be supplied in a PRINTPROVIDOR structure. (Beachten Sie, dass diese beiden Namen falsch geschrieben sind, aber mit den Namen übereinstimmen, die in der Headerdatei angezeigt werden, Winsplp.h.)

Funktionen sind in Gruppen unterteilt und in den folgenden Abschnitten dargestellt:

  • Initialization function

  • Funktionen für die Verwaltung von Druckwarteschlangen

  • Druckertreiberverwaltungsfunktionen

  • Druckauftragserstellungsfunktionen

  • Druckauftragsplanungsfunktionen

  • Formularverwaltungsfunktionen

  • Druckprozessorverwaltungsfunktionen

  • Drucküberwachungsverwaltungsfunktionen

  • Portverwaltungsfunktionen

  • Registrierungsverwaltungsfunktionen

  • Other functions

Initialization function

Function Description
InitializePrintProvidor (Required) Initialisiert den Druckanbieter und gibt Zeiger auf bereitgestellte Funktionen zurück.
Function Description
AddPrinter Fügt der Liste der vom Druckanbieter verwalteten Druckwarteschlange eine Druckwarteschlange hinzu und ordnet einen Druckauftragsverarbeiter der Druckwarteschlange zu.
AddPrinterConnection Erstellt eine Verbindung mit der angegebenen Druckwarteschlange.
ClosePrinter (Required) Deaktiviert den Anruferzugriff auf eine angegebene Druckwarteschlange.
DeletePrinter Löscht eine Druckwarteschlange aus der Liste der vom Druckanbieter verwalteten.
DeletePrinterConnection Entfernt eine Verbindung mit der angegebenen Druckwarteschlange.
EnumPrinters (Required) Liste der derzeit vom Druckanbieter verwalteten Druckwarteschlangen aufgezählt.
FindClosePrinterChangeNotification Disables printer change notifications that were enabled by FindFirstPrinterChangeNotification.
FindFirstPrinterChangeNotification Gibt ein Handle an ein Wait -Objekt zurück, das der Aufrufer verwenden kann, um auf angegebene Druckerereignisse zu warten.
GetPrinter (Required) Gibt aktuelle Parameterwerte für eine angegebene Druckwarteschlange zurück.
OpenPrinter (Required) Ermöglicht den Anruferzugriff auf eine angegebene Druckwarteschlange.
RefreshPrinterChangeNotification Called by router if client calls FindNextPrinterChangeNotification with the PRINTER_NOTIFY_OPTIONS_REFRESH flag set.
ResetPrinter Modifies a print queue's data type or DEVMODEW structure.
SetPrinter (Required) Legt Parameter für eine angegebene Druckwarteschlange fest.
WaitForPrinterChange Obsolete.

Druckertreiberverwaltungsfunktionen

Function Description
AddPrinterDriver Fügt die Treiberdateien eines angegebenen Druckers zu einem angegebenen Server hinzu.
AddPrinterDriverEx Same as AddPrinterDriver, with additional parameters.
DeletePrinterDriver Löscht den Zugriff auf die Treiberdateien eines angegebenen Druckers auf einem angegebenen Server.
DeletePrinterDriverEx Same as DeletePrinterDriver, with additional parameters.
EnumPrinterDrivers Returns a list of printer drivers that have been added to a specified server by calling AddPrinterDriver or AddPrinterDriverEx.
GetPrinterDriver Returns information about a printer driver, which the caller can then pass to AddPrinterDriver. (Die zurückgegebenen Informationen werden in der Regel aus einer INF-Datei abgerufen.)
[GetPrinterDriverEx Same as GetPrinterDriver, with additional parameters.
GetPrinterDriverDirectory Gibt den Namen des Druckertreiberverzeichnisses des Servers zurück.
Function Description
AbortPrinter (Required) Versucht, den aktuellen Auftrag aus der angegebenen Druckwarteschlange zu löschen.
AddJob (Required) Gibt einen Auftragsbezeichner und einen Spooldateipfad zurück. The caller uses CreateFile and WriteFile to send data to the spool file.
EndDocPrinter (Required) Führt Auftragsabschlussvorgänge aus.
EndPagePrinter Führt Seitenabschlussvorgänge aus.
ReadPrinter Ruft Statusinformationen von einem bidirektionalen Drucker ab.
ScheduleJob (Required) Informiert den Anbieter, dass ein angegebener Auftrag geplant werden kann. The job is specified by a job identifier previously returned by AddJob.
StartDocPrinter (Required) Bereitet den Druckanbieter darauf vor, mit dem Spooling eines Druckauftrags zu beginnen.
StartPagePrinter Bereitet den Druckanbieter auf den Empfang einer Druckauftragsseite vor.
WritePrinter (Required) Empfängt einen Teil des Datenstroms des Druckauftrags.

Note

The AddJob...ScheduleJob sequence is an alternative to the StartDocPrinter...EndDocPrinter sequence.

Function Description
EnumJobs (Required) Gibt eine Liste der geplanten Druckaufträge zurück.
GetJob (Required) Gibt Auftragsparameter zurück.
SetJob (Required) Bricht ab, hält, fortsetzt oder startet einen Druckauftrag neu oder legt Auftragsparameter fest.

Formularverwaltungsfunktionen

Function Description
AddForm Fügt der Liste der für einen angegebenen Drucker verfügbaren Formulare ein angegebenes Formular hinzu.
DeleteForm Entfernt ein angegebenes Formular aus der Liste der für einen angegebenen Drucker verfügbaren.
EnumForms Gibt eine Liste der für einen angegebenen Drucker verfügbaren Formulare zurück.
GetForm Gibt Merkmale eines angegebenen Formulars zurück.
SetForm Ändert die Eigenschaften eines angegebenen Formulars.
Function Description
AddPrintProcessor Installiert einen Druckprozessor auf dem angegebenen Server und fügt ihn der Liste derJenigen hinzu, die der Druckanbieter aufrufen kann.
DeletePrintProcessor Löscht einen Druckprozessor aus der Liste derJenigen, die der Druckanbieter aufrufen kann.
EnumPrintProcessorDataTypes Gibt eine Liste der Datentypen zurück, die von den Druckprozessoren unterstützt werden, die vom Druckanbieter aufgerufen werden können.
EnumPrintProcessors Gibt die Liste der Druckprozessoren zurück, die der Druckanbieter aufrufen kann.
GetPrintProcessorDirectory Gibt den Verzeichnispfad zurück, in dem Druckprozessordateien gespeichert werden müssen.
Function Description
AddMonitor Fügt der Liste der Druckmonitore, die der Druckanbieter aufrufen kann, einen Druckmonitor hinzu.
DeleteMonitor Löscht einen Druckmonitor aus der Liste derJenigen, die der Druckanbieter aufrufen kann.
EnumMonitors Gibt die Liste der Druckmonitore zurück, die der Druckanbieter aufrufen kann.

Portverwaltungsfunktionen

Function Description
AddPort Adds a printer port to the list of those available, typically by calling the specified port monitor's AddPortUI function.
AddPortEx(/previous-versions/ff545025(v%3dvs.85)) Same as AddPort, with additional parameters.
ConfigurePort (Required) Configures a printer port, typically by calling the specified port monitor's ConfigurePortUI function.
DeletePort (Required) Deletes a printer port from the list of those available, typically by calling the specified port monitor's DeletePortUI function.
EnumPorts (Required) Gibt eine Liste der verfügbaren Druckerports zurück.
SetPort Legt Parameter für einen angegebenen Druckeranschluss fest.

Registrierungsverwaltungsfunktionen

Function Description
DeletePrinterData Deletes the value currently assigned to a specified value name, under the specified printer's PrinterDriverData key.
DeletePrinterDataEx Same as DeletePrinterData, with additional parameters.
DeletePrinterKey Deletes a specified key and its subkeys, if they are currently stored in the registry under the specified printer's PrinterDriverData key.
EnumPrinterData Returns each of the value names and currently assigned values that are stored in the registry under the specified printer's PrinterDriverData key.
EnumPrinterDataEx Same as EnumPrinterData, with additional parameters.
EnumPrinterKey Gibt eine Liste von Unterschlüsseln zurück, die derzeit in der Registrierung unter einem angegebenen Schlüsselnamen enthalten sind.
GetPrinterData Returns the value currently assigned to a specified value name, which is stored in the registry under the specified printer's PrinterDriverData key.
GetPrinterDataEx Same as GetPrinterData, with additional parameters.
SetPrinterData Stores a specified value name and value in the registry, under the specified printer's PrinterDriverData key.
SetPrinterDataEx Same as SetPrinterData, with additional parameters.

Other functions

Function Description
XcvData Stellt einen Kommunikationspfad zwischen einer Portmonitor-UI-DLL und einer Portmonitorserver-DLL bereit.