Fonction EnumJobs

La fonction EnumJobs récupère des informations sur un ensemble spécifié de travaux d’impression pour une imprimante spécifiée.

Syntaxe

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
);

Paramètres

hPrinter [in]

Handle de l’objet d’imprimante dont la fonction énumère les travaux d’impression. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.

FirstJob [in]

Position de base zéro dans la file d’attente d’impression du premier travail d’impression à énumérer. Par exemple, la valeur 0 spécifie que l’énumération doit commencer au premier travail d’impression dans la file d’attente d’impression ; La valeur 9 spécifie que l’énumération doit commencer au dixième travail d’impression dans la file d’attente d’impression.

NoJobs [in]

Nombre total de travaux d’impression à énumérer.

Niveau [in]

Type d’informations retournées dans la mémoire tampon pJob .

Valeur Signification
1
pJob reçoit un tableau de structures JOB_INFO_1
2
pJob reçoit un tableau de structures JOB_INFO_2
3
pJob reçoit un tableau de structures JOB_INFO_3

pJob [out]

Pointeur vers une mémoire tampon qui reçoit un tableau de structures JOB_INFO_1, JOB_INFO_2 ou JOB_INFO_3 . La mémoire tampon doit être suffisamment grande pour recevoir le tableau de structures et toutes les chaînes ou autres données vers lesquelles pointent les membres de la structure.

Pour déterminer la taille de mémoire tampon requise, appelez EnumJobs avec cbBuf défini sur zéro. EnumJobs échoue, GetLastError retourne ERROR_INSUFFICIENT_BUFFER et le paramètre pcbNeeded retourne la taille, en octets, de la mémoire tampon requise pour contenir le tableau des structures et leurs données.

cbBuf [in]

Taille, en octets, de la mémoire tampon pJob .

pcbNeeded [out]

Pointeur vers une variable qui reçoit le nombre d’octets copiés si la fonction réussit. Si la fonction échoue, la variable reçoit le nombre d’octets requis.

pcReturned [out]

Pointeur vers une variable qui reçoit le nombre de structures JOB_INFO_1, JOB_INFO_2 ou JOB_INFO_3 retournées dans la mémoire tampon pJob .

Valeur retournée

Si la fonction réussit, la valeur de retour est une valeur différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Notes

Notes

Il s’agit d’une fonction bloquante ou synchrone qui peut ne pas être retournée immédiatement. La rapidité avec laquelle cette fonction retourne dépend de facteurs d’exécution tels que l’status réseau, la configuration du serveur d’impression et les facteurs d’implémentation du pilote d’imprimante qui sont difficiles à prédire lors de l’écriture d’une application. L’appel de cette fonction à partir d’un thread qui gère l’interaction avec l’interface utilisateur peut donner l’impression que l’application ne répond pas.

La structure JOB_INFO_1 contient des informations générales sur les travaux d’impression ; la structure JOB_INFO_2 contient des informations beaucoup plus détaillées. La structure JOB_INFO_3 contient des informations sur la façon dont les travaux sont liés.

Pour déterminer le nombre de travaux d’impression dans la file d’attente de l’imprimante, appelez la fonction GetPrinter avec le paramètre Level défini sur 2.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winspool.h (inclure Windows.h)
Bibliothèque
Winspool.lib
DLL
Winspool.drv
Noms Unicode et ANSI
EnumJobsW (Unicode) et EnumJobsA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

GetJob

GetPrinter

JOB_INFO_1

JOB_INFO_2

JOB_INFO_3

OpenPrinter

SetJob