Funzione EnumJobs
La funzione EnumJobs recupera informazioni su un set specificato di processi di stampa per una stampante specificata.
Sintassi
BOOL EnumJobs(
_In_ HANDLE hPrinter,
_In_ DWORD FirstJob,
_In_ DWORD NoJobs,
_In_ DWORD Level,
_Out_ LPBYTE pJob,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
Parametri
-
hPrinter [in]
-
Handle per l'oggetto stampante i cui processi di stampa enumera la funzione. Utilizzare la funzione OpenPrinter o AddPrinter per recuperare un handle della stampante.
-
FirstJob [in]
-
Posizione in base zero all'interno della coda di stampa del primo processo di stampa da enumerare. Ad esempio, il valore 0 specifica che l'enumerazione deve iniziare al primo processo di stampa nella coda di stampa; Il valore 9 specifica che l'enumerazione deve iniziare al decimo processo di stampa nella coda di stampa.
-
NoJobs [in]
-
Numero totale di processi di stampa da enumerare.
-
Livello [in]
-
Tipo di informazioni restituite nel buffer pJob .
Valore Significato - 1
pJob riceve una matrice di strutture JOB_INFO_1 - 2
pJob riceve una matrice di strutture JOB_INFO_2 - 3
pJob riceve una matrice di strutture JOB_INFO_3 -
pJob [out]
-
Puntatore a un buffer che riceve una matrice di strutture JOB_INFO_1, JOB_INFO_2 o JOB_INFO_3 . Il buffer deve essere sufficientemente grande per ricevere la matrice di strutture e qualsiasi stringa o altri dati a cui puntano i membri della struttura.
Per determinare le dimensioni del buffer necessarie, chiamare EnumJobs con cbBuf impostato su zero. EnumJobs ha esito negativo, GetLastError restituisce ERROR_INSUFFICIENT_BUFFER e il parametro pcbNeeded restituisce le dimensioni, in byte, del buffer necessario per contenere la matrice di strutture e i relativi dati.
-
cbBuf [in]
-
Dimensione, in byte, del buffer pJob .
-
pcbNeeded [out]
-
Puntatore a una variabile che riceve il numero di byte copiati se la funzione ha esito positivo. Se la funzione ha esito negativo, la variabile riceve il numero di byte necessari.
-
pcReturned [out]
-
Puntatore a una variabile che riceve il numero di strutture JOB_INFO_1, JOB_INFO_2 o JOB_INFO_3 restituite nel buffer pJob .
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 struttura JOB_INFO_1 contiene informazioni generali sul processo di stampa; la struttura JOB_INFO_2 contiene informazioni molto più dettagliate. La struttura JOB_INFO_3 contiene informazioni sulla modalità di collegamento dei processi.
Per determinare il numero di processi di stampa nella coda della stampante, chiamare la funzione GetPrinter con il parametro Level impostato su 2.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|
Nomi Unicode e ANSI |
EnumJobsW (Unicode) ed EnumJobsA (ANSI) |