Share via


Funzione FlushPrinter

La funzione FlushPrinter invia un buffer alla stampante per cancellarlo da uno stato temporaneo.

Sintassi

BOOL FlushPrinter(
  _In_  HANDLE  hPrinter,
  _In_  LPVOID  pBuf,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcWritten,
  _In_  DWORD   cSleep
);

Parametri

hPrinter [in]

Handle per l'oggetto stampante. Deve essere lo stesso handle usato, in una precedente chiamata WritePrinter , dal driver della stampante.

pBuf [in]

Puntatore a una matrice di byte che contiene i dati da scrivere nella stampante.

cbBuf [in]

Dimensione, in byte, della matrice a cui punta pBuf.

pcWritten [out]

Puntatore a un valore che riceve il numero di byte di dati scritti nella stampante.

cSleep [in]

Tempo, in millisecondi, per il quale la riga di I/O sulla porta della stampante deve essere mantenuta inattiva.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

Nota

Si tratta di una funzione di blocco o sincrona e potrebbe non restituire immediatamente. La velocità di restituzione di questa funzione dipende da fattori di runtime come lo stato della rete, la configurazione del server di stampa e i fattori di implementazione del driver della stampante difficili da prevedere durante la scrittura di un'applicazione. Chiamando questa funzione da un thread che gestisce l'interazione con l'interfaccia utente, l'applicazione potrebbe sembrare non rispondente.

FlushPrinter deve essere chiamato solo se WritePrinter non è riuscito, lasciando la stampante in uno stato temporaneo. Ad esempio, la stampante potrebbe entrare in uno stato temporaneo quando il processo viene interrotto e il driver della stampante ha inviato parzialmente alcuni dati non elaborati alla stampante.

FlushPrinter può anche specificare un periodo di inattività durante il quale lo spooler di stampa non pianifica alcun processo sulla porta della stampante corrispondente.

Requisiti

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

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

WritePrinter