AddJob, fonction
La fonction AddJob ajoute un travail d’impression à la liste des travaux d’impression qui peuvent être planifiés par le spouleur d’impression. La fonction récupère le nom du fichier que vous pouvez utiliser pour stocker le travail.
Notes
Dans Windows 8 et les systèmes d’exploitation ultérieurs, nous ne recommandons pas d’utiliser AddJob directement, car il existe des cas (par exemple, l’impression dans une file d’attente à l’aide de File: ou PORTPROMPT:) où AddJob échoue. Au lieu de cela, nous vous recommandons d’utiliser l’API d’impression GDI, l’API d’impression XPS, StartDocPrinter ou la méthode appropriée à partir de l’espace de noms Windows.Graphics.Printing , selon le scénario d’impression.
Si vous essayez d’imprimer dans une file d’attente à l’aide de File: ou PORTPROMPT:, AddJob renvoie l’erreur NOT_SUPPORTED.
Syntaxe
BOOL AddJob(
_In_ HANDLE hPrinter,
_In_ DWORD Level,
_Out_ LPBYTE pData,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded
);
Paramètres
-
hPrinter [in]
-
Handle qui spécifie l’imprimante pour le travail d’impression. Il doit s’agir d’une imprimante locale configurée en tant qu’imprimante en pool. Si hPrinter est un handle pour une connexion d’imprimante distante, ou si l’imprimante est configurée pour l’impression directe, la fonction AddJob échoue. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.
-
Niveau [in]
-
Version de la structure de données d’informations de travail d’impression que la fonction stocke dans la mémoire tampon pointée par pData. Définissez ce paramètre sur un.
-
pData [out]
-
Pointeur vers une mémoire tampon qui reçoit une structure de données ADDJOB_INFO_1 et une chaîne de chemin d’accès.
-
cbBuf [in]
-
Taille, en octets, de la mémoire tampon pointée par pData. La mémoire tampon doit être suffisamment grande pour contenir une structure ADDJOB_INFO_1 et une chaîne de chemin d’accès.
-
pcbNeeded [out]
-
Pointeur vers une variable qui reçoit la taille totale, en octets, de la structure de données ADDJOB_INFO_1 plus la chaîne de chemin d’accès. Si cette valeur est inférieure ou égale à cbBuf et que la fonction réussit, il s’agit du nombre réel d’octets écrits dans la mémoire tampon vers laquelle pData pointe. Si ce nombre est supérieur à cbBuf, la mémoire tampon est trop petite et vous devez appeler à nouveau la fonction avec une taille de mémoire tampon au moins égale à *pcbNeeded.
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.
Vous pouvez appeler la fonction CreateFile pour ouvrir le fichier spool spécifié par le membre Path de la structure ADDJOB_INFO_1 , puis appeler la fonction WriteFile pour y écrire des données de travail d’impression. Une fois cette opération terminée, appelez la fonction ScheduleJob pour informer le spouleur d’impression que le travail d’impression peut désormais être planifié par le spouleur pour l’impression.
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 |
|
Bibliothèque |
|
DLL |
|
Noms Unicode et ANSI |
AddJobW (Unicode) et AddJobA (ANSI) |