Funzione CommitSpoolData

La funzione CommitSpoolData informa lo spooler di stampa che una quantità specificata di dati è stata scritta in un file spool specificato ed è pronta per il rendering.

Sintassi

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

Parametri

hPrinter [in]

Handle alla stampante a cui è stato inviato il processo. Questo deve essere lo stesso handle usato per ottenere hSpoolFile con GetSpoolFileHandle.

hSpoolFile [in]

Handle del file di spool da modificare. Nella prima chiamata di CommitSpoolData, questo deve essere lo stesso handle restituito da GetSpoolFileHandle. Le chiamate successive a CommitSpoolData devono passare l'handle restituito dalla chiamata precedente. Vedere la sezione Osservazioni.

cbCommit

Numero di byte di cui è stato eseguito il commit nel spooler di stampa.

Valore restituito

Se la funzione ha esito positivo, restituisce un handle al file di spool.

Se la funzione ha esito negativo, restituisce INVALID_HANDLE_VALUE.

Commenti

Le applicazioni che inviano un processo di stampa spooler possono chiamare GetSpoolFileHandle e quindi scrivere direttamente i dati nell'handle file spool chiamando WriteFile. Per notificare al spooler di stampa che il file contiene dati pronti per il rendering, l'applicazione deve chiamare CommitSpoolData e specificare il numero di byte disponibili.

Se CommitSpoolData viene chiamato più volte, ogni chiamata deve usare l'handle di file spool restituito dalla chiamata precedente. Quando non verranno scritti più dati nel file di spool, CloseSpoolFileHandle deve essere chiamato per l'handle di file restituito dall'ultima chiamata a CommitSpoolData.

Prima di chiamare CommitSpoolData, le applicazioni devono impostare il puntatore del file alla posizione precedente alla scrittura dei dati nel file. Nel processo di rendering dei dati nel file spooler, lo spooler di stampa sposta il puntatore del file di spool cbCommit byte dal valore corrente del puntatore al file.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]
Intestazione
Winspool.h (include Windows.h)
Libreria
Winspool.lib
DLL
WinSpool.drv

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

GetSpoolFileHandle

CloseSpoolFileHandle