CommitSpoolData-Funktion

Die CommitSpoolData-Funktion benachrichtigt den Druckspooler, dass eine angegebene Datenmenge in eine angegebene Spooldatei geschrieben wurde und gerendert werden kann.

Syntax

HANDLE CommitSpoolData(
  _In_ HANDLE hPrinter,
  _In_ HANDLE hSpoolFile,
       DWORD  cbCommit
);

Parameter

hPrinter [ In]

Ein Handle für den Drucker, an den der Auftrag übermittelt wurde. Dies sollte dasselbe Handle sein, das zum Abrufen von hSpoolFile mit GetSpoolFileHandleverwendet wurde.

hSpoolFile [ In]

Ein Handle für die Spooldatei, die geändert wird. Beim ersten Aufruf von CommitSpoolData sollte dies dasselbe Handle sein, das von GetSpoolFileHandlezurückgegeben wurde. Nachfolgende Aufrufe von CommitSpoolData sollten das vom vorherigen Aufruf zurückgegebene Handle übergeben. Siehe Hinweise.

cbCommit

Die Anzahl der Bytes, für die ein Commit an den Druckspooler ausgeführt wurde.

Rückgabewert

Wenn die Funktion erfolgreich ausgeführt wird, wird ein Handle für die Spooldatei zurückgegeben.

Wenn die Funktion fehlschlägt, wird INVALID _ HANDLE _ VALUE zurückgegeben.

Bemerkungen

Anwendungen, die einen Spoolerdruckauftrag übermitteln, können GetSpoolFileHandle aufrufen und dann daten direkt in das Spooldateihandle schreiben, indem sie WriteFileaufrufen. Um den Druckspooler zu benachrichtigen, dass die Datei Daten enthält, die gerendert werden können, muss die Anwendung CommitSpoolData aufrufen und die Anzahl der verfügbaren Bytes angeben.

Wenn CommitSpoolData mehrmals aufgerufen wird, muss jeder Aufruf das vom vorherigen Aufruf zurückgegebene Spooldateihandle verwenden. Wenn keine Daten mehr in die Spooldatei geschrieben werden, sollte CloseSpoolFileHandle für das Dateihandle aufgerufen werden, das durch den letzten Aufruf von CommitSpoolData zurückgegeben wird.

Vor dem Aufrufen von CommitSpoolData müssen Anwendungen den Dateizeiger auf die Position festlegen, die sie vor dem Schreiben von Daten in die Datei hatte. Beim Rendern der Daten in der Spoolerdatei wird der Druckspooler den Spooldateizeiger cbCommit Bytes aus dem aktuellen Wert des Dateizeigers verschieben.

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur Vista-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2008-Desktop-Apps]
Header
Winspool.h (include Windows.h)
Bibliothek
Winspool.lib
DLL
WinSpool.drv

Weitere Informationen

Drucken

Druckspooler-API-Funktionen

GetSpoolFileHandle

CloseSpoolFileHandle