Funzione ControlPrintProcessor (winsplp.h)
La funzione ControlPrintProcessor di un processore di stampa consente allo spooler di controllare un processo di stampa.
Sintassi
BOOL ControlPrintProcessor(
[in] HANDLE hPrintProcessor,
[in] DWORD Command
);
Parametri
[in] hPrintProcessor
Handle del processore di stampa fornito dal chiamante. Si tratta dell'handle restituito da una chiamata precedente a OpenPrintProcessor.
[in] Command
Comando fornito dal chiamante che indica il tipo di operazione da eseguire. I comandi seguenti sono validi:
Comando | Definizione |
---|---|
JOB_CONTROL_CANCEL | La funzione deve annullare il processo di stampa corrente. |
JOB_CONTROL_PAUSE | La funzione deve sospendere il processo di stampa corrente. |
JOB_CONTROL_RESUME | La funzione deve riprendere il processo di stampa corrente. |
Valore restituito
Se l'operazione ha esito positivo, la funzione deve restituire TRUE. Se l'operazione non riesce, la funzione deve chiamare SetLastError per impostare un codice di errore e quindi restituire FALSE.
Osservazioni
I processori di stampa sono necessari per esportare una funzione ControlPrintProcessor. Lo spooler chiama la funzione quando un'applicazione chiama la funzione SetJob, descritta nella documentazione di Microsoft Windows SDK.
In base al valore ricevuto per Comando, la funzione deve sospendere, riprendere o annullare il processo corrente. La funzione ControlPrintProcessor può essere chiamata in modo asincrono mentre la funzione printDocumentOnPrintProcessor del processore di stampa è in esecuzione. È quindi necessario usare una sorta di tecnica di sincronizzazione, ad esempio l'impostazione di un oggetto evento definito internamente per sospendere un processo e reimpostare l'oggetto evento quando il processo viene ripreso. La funzione ControlPrintProcessor può restituire rapidamente dopo l'impostazione o la reimpostazione dell'oggetto evento e PrintDocumentOnPrintProcessor può attendere che l'evento sia nello stato corretto.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | winsplp.h (includere Winsplp.h) |
libreria | Nwprint.lib |