Freigeben über


EndDocPrinter-Funktion

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

Syntax

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

Parameter

hPrinter [in]

Handle an 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 Nichtzero-Wert.

Wenn die Funktion fehlerhaft ist, 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ückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckserverkonfiguration und Druckertreiberimplementierungsfaktoren ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Wenn Sie diese Funktion über einen Thread aufrufen, der die Interaktion mit der Benutzeroberfläche verwaltet, kann die Anwendung nicht reagieren.

Die EndDocPrinter-Funktion 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. Um einen Druckauftrag zu starten, rufen Sie StartDocPrinter auf.
  2. Rufen Sie StartPagePrinter auf, um jede Seite zu beginnen.
  3. Um Daten auf eine Seite zu schreiben, rufen Sie WritePrinter auf.
  4. Um jede Seite zu beenden, rufen Sie EndPagePrinter auf.
  5. Wiederholen Sie 2, 3 und 4 für so viele Seiten wie nötig.
  6. Um den Druckauftrag zu beenden, rufen Sie EndDocPrinter auf.

Wenn eine Seite in einer Spooldatei ungefähr 350 MB überschreitet, kann sie nicht drucken und keine Fehlermeldung senden. Dies kann beispielsweise beim Drucken großer EMF-Dateien auftreten. Die Begrenzung der Seitengröße hängt von vielen Faktoren ab, einschließlich der Menge des verfügbaren virtuellen Arbeitsspeichers, der Durch aufrufen von Prozessen zugewiesenen Arbeitsspeichermenge und dem Umfang der Fragmentierung im Prozessheap.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winspool.h (einschließlich Windows.h)
Bibliothek
Winspool.lib
DLL
Spoolss.dll

Siehe auch

Drucken

Druckspooler-API-Funktionen

EndDocPrinter

EndPagePrinter

StartDocPrinter

StartPagePrinter

WritePrinter