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
Winspool.h (include Windows.h)
Libreria
Winspool.lib
DLL
Winspool.drv
Nomi Unicode e ANSI
EnumJobsW (Unicode) ed EnumJobsA (ANSI)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

GetJob

GetPrinter

JOB_INFO_1

JOB_INFO_2

JOB_INFO_3

OpenPrinter

SetJob