Funzione EndDocPrinter

La funzione EndDocPrinter termina un processo di stampa per la stampante specificata.

Sintassi

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

Parametri

hPrinter [in]

Handle su una stampante per la quale deve essere terminato il processo di stampa. Utilizzare la funzione OpenPrinter o AddPrinter per recuperare un handle della stampante.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore 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.

La funzione EndDocPrinter restituisce un errore se il processo di stampa non è stato avviato chiamando la funzione StartDocPrinter .

La sequenza per un processo di stampa è la seguente:

  1. Per avviare un processo di stampa, chiama StartDocPrinter.
  2. Per iniziare ogni pagina, chiama StartPagePrinter.
  3. Per scrivere dati in una pagina, chiamare WritePrinter.
  4. Per terminare ogni pagina, chiamare EndPagePrinter.
  5. Ripetere 2, 3 e 4 per tutte le pagine necessarie.
  6. Per terminare il processo di stampa, chiamare EndDocPrinter.

Quando una pagina in un file con spooling supera circa 350 MB, potrebbe non riuscire a stampare e non inviare un messaggio di errore. Ad esempio, ciò può verificarsi quando si stampano file EMF di grandi dimensioni. Il limite delle dimensioni della pagina dipende da molti fattori, tra cui la quantità di memoria virtuale disponibile, la quantità di memoria allocata dai processi chiamanti e la quantità di frammentazione nell'heap del processo.

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
Spoolss.dll

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

EndDocPrinter

EndPagePrinter

StartDocPrinter

StartPagePrinter

WritePrinter