Freigeben über


EndDocPrinter-Funktion

Die EndDocPrinter-Funktion beendet einen Druckauftrag für den angegebenen Drucker.

Syntax

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

Die Parameter

hPrinter [in]

Handle zu einem Drucker, für den der Druckauftrag beendet werden soll. Verwenden Sie die OpenPrinter- oder AddPrinter-Funktion , um einen Druckerhandle abzurufen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null.

Bemerkungen

Hinweis

Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgegeben wird, hängt von Laufzeitfaktoren wie Netzwerkstatus, Druckserverkonfiguration und Implementierungsfaktoren des Druckertreibers ab, die beim Schreiben einer Anwendung schwer vorhergesagt werden können. Das Aufrufen dieser Funktion über einen Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, kann dazu führen, dass die Anwendung scheinbar nicht reagiert.

Die Funktion EndDocPrinter gibt einen Fehler zurück, wenn der Druckauftrag nicht gestartet wurde, indem die StartDocPrinter-Funktion aufgerufen wurde.

Die Reihenfolge für einen Druckauftrag lautet wie folgt:

  1. Rufen Sie StartDocPrinter auf, um einen Druckauftrag zu starten.
  2. Rufen Sie StartPagePrinter auf, um jede Seite zu beginnen.
  3. Rufen Sie WritePrinter auf, um Daten auf eine Seite zu schreiben.
  4. Rufen Sie EndPagePrinter auf, um jede Seite zu beenden.
  5. Wiederholen Sie 2, 3 und 4 für beliebig viele Seiten.
  6. Rufen Sie EndDocPrinter auf, um den Druckauftrag zu beenden.

Wenn eine Seite in einer spoolierten Datei ca. 350 MB überschreitet, kann es nicht gedruckt und keine Fehlermeldung gesendet werden. Dies kann beispielsweise beim Drucken großer EMF-Dateien auftreten. Der Grenzwert für die Seitengröße hängt von vielen Faktoren ab, einschließlich der verfügbaren Menge an virtuellem Arbeitsspeicher, der Menge an Arbeitsspeicher, die durch Aufrufen von Prozessen zugewiesen wird, und der Menge der Fragmentierung im Prozesshap.

Anforderungen

Anforderung Wert
Mindest unterstützter Client
Windows 2000 Professional [nur Desktop-Apps]
Unterstützter Server (Mindestversion)
Windows 2000 Server [nur Desktop-Apps]
Kopfzeile
Winspool.h (enthalten Windows.h)
Bibliothek
Winspool.lib
DLL
Spoolss.dll

Siehe auch

Drucken

Drucken von Spooler-API-Funktionen

EndeSeiteDrucker

StartDocPrinter-

StartSeiteDrucker

WritePrinter-