SetJob fonction)
La fonction SetJob suspend, reprend, annule ou redémarre un travail d’impression sur une imprimante spécifiée. Vous pouvez également utiliser la fonction SetJob pour définir les paramètres du travail d’impression, tels que la priorité du travail d’impression et le nom du document.
Vous pouvez utiliser la fonction SetJob pour fournir une commande à un travail d’impression ou pour définir des paramètres de travail d’impression, ou pour effectuer les deux dans le même appel. La valeur du paramètre de commande n’affecte pas la manière dont la fonction utilise les paramètres Level et pJob . En outre, vous pouvez utiliser SetJob avec les informations de travail _ _ 3 pour lier ensemble un ensemble de travaux d’impression. Pour plus d'informations, consultez la section Notes.
Syntaxe
BOOL SetJob(
_In_ HANDLE hPrinter,
_In_ DWORD JobId,
_In_ DWORD Level,
_In_ LPBYTE pJob,
_In_ DWORD Command
);
Paramètres
-
hPrinter [ dans]
-
Handle vers l’objet Printer qui vous intéresse. Utilisez la fonction OpenPrinter, OpenPrinter2ou AddPrinter pour récupérer un handle d’imprimante.
-
JobID [ dans]
-
Identificateur qui spécifie le travail d’impression. Vous obtenez un identificateur de travail d’impression en appelant la fonction AddJob ou la fonction StartDoc .
Si le paramètre Level a la valeur 3, le paramètre JobID doit correspondre au membre JobID de la structure Job _ info _ 3 pointé par pJob
-
De niveau [ dans]
-
Type de structure d’informations de travail vers lequel pointe le paramètre pJob .
toutes les versions de Windows: vous pouvez définir le paramètre de niveau sur 0, 1 ou 2. Lorsque vous définissez Level sur 0, pJob doit avoir la valeur null. Utilisez ces valeurs lorsque vous ne définissez pas de paramètres de travail d’impression.
Vous pouvez également définir le paramètre de niveau sur 3.
à compter de Windows Vista: vous pouvez également définir le paramètre de niveau sur 4.
-
pJob [ dans]
-
Pointeur vers une structure qui définit les paramètres du travail d’impression.
toutes les versions de Windows: pJob peut pointer vers une structure job information _ _ 1 ou job _ info _ 2 .
pJob peut également pointer vers une structure d' informations de travail _ _ 3 . Vous devez disposer de l’autorisation _ _ administrer l’accès au travail pour les travaux spécifiés par les membres JobID et NextJobId de la structure Job _ info _ 3 .
à compter de Windows Vista: pJob peut également pointer vers une structure d' informations de travail _ _ 4 .
Si le paramètre Level est égal à 0, pJob doit avoir la valeur null.
-
Commande [ dans]
-
Opération de travail d’impression à effectuer. Ce paramètre peut prendre les valeurs suivantes.
Valeur Signification - _annulation du contrôle de travail _
Ne pas utiliser. Pour supprimer un travail d’impression, utilisez l' opération de _ _ Suppression de contrôle de tâche. - _pause du contrôle de travail _
Suspendez le travail d’impression. - redémarrage du contrôle de travail _ _
Redémarrez le travail d’impression. Un travail ne peut être redémarré que s’il a été imprimé. - _reprise du contrôle de travail _
Reprendre un travail d’impression suspendu. - _suppression du contrôle de travail _
Supprimez le travail d’impression. - _contrôle _ de travail envoyé à l' _ _ imprimante
Utilisé par les moniteurs de port pour mettre fin au travail d’impression. - _dernière page du contrôle des travaux _ _ _ éjectée
Utilisé par les moniteurs de langage pour mettre fin au travail d’impression. - _conservation du contrôle de travail _
Windows Vista et versions ultérieures: conservez le travail dans la file d’attente après son impression. - _version de contrôle du travail _
Windows Vista et versions ultérieures: libérez le travail d’impression. Vous pouvez utiliser le même appel à la fonction SetJob pour définir les paramètres du travail d’impression et fournir une commande à un travail d’impression. Par conséquent, la commande ne doit pas avoir la valeur 0 si vous définissez des paramètres de travail d’impression, bien que cela puisse être le cas.
Valeur de retour
Si la fonction est réussie, 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 de blocage ou synchrone qui peut ne pas être renvoyée immédiatement. La vitesse à laquelle cette fonction est retournée dépend des facteurs d’exécution tels que l’état du réseau, la configuration du serveur d’impression et les facteurs d’implémentation des pilotes 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 faire que l’application semble ne pas répondre.
Vous pouvez utiliser la fonction SetJob pour définir différents paramètres de travail d’impression en fournissant un pointeur vers une structure Job information _ _ 1, Job info _ _ 2, Job _ info _ 3ou Job _ info _ 4 qui contient les données nécessaires.
Pour supprimer ou supprimer tous les travaux d’impression pour une imprimante spécifique, appelez la fonction SetPrinter avec son paramètre de commande défini sur _ _ vidage du contrôle de l’imprimante.
Les membres suivants d’une structure Job information _ _ 1, Job _ info _ 2ou Job _ info _ 4 sont ignorés lors d’un appel à SetJob: JobID, pPrinterName, pMachineName, pUserName, pDrivername, Size, sent, Time et TotalPages.
Vous devez disposer de l’autorisation _ _ administrer l’accès à l’imprimante pour une imprimante afin de modifier la position d’un travail d’impression dans la file d’attente à l’impression.
Si vous ne souhaitez pas définir la position d’un travail d’impression dans la file d’attente à l’impression, vous devez définir le membre position de la structure Job information _ _ 1, Job _ info _ 2ou Job _ info _ 4 sur Job _ position _ Unspecified.
Utilisez la fonction SetJob avec la structure Job _ info _ 3 pour lier ensemble un ensemble de travaux d’impression (également appelé chaîne). Cela est utile dans les situations où un document unique est constitué de plusieurs parties que vous souhaitez restituer séparément. Pour imprimer les travaux A, B, C et D dans l’ordre, appelez SetJob avec les informations de travail _ _ 4 pour lier A à b, b à c et c à D.
Si vous liez des travaux d’impression, notez les points suivants :
Les travaux peuvent être ajoutés au début ou à la fin d’une chaîne.
Tous les travaux de la chaîne doivent avoir le même type de données.
La chaîne doit être entièrement liée avant le début de la mise en file d’attente ; sinon, le spouleur peut imprimer et supprimer les travaux mis en attente avant de les lier tous. Il existe deux façons de garder la chaîne imprime prématurément :
- Suspendez la première tâche de la chaîne jusqu’à ce que la chaîne soit entièrement liée. L’état suspendu de la première tâche régit l’état de tous les travaux de la chaîne.
- Conservez la première tâche incomplète, autrement dit, n’appelez pas EndDoc ou ScheduleJob pour le premier travail. Toutefois, si l’option « imprimer pendant la mise en file d’attente » est activée (valeur par défaut), cette méthode bloque le port pendant la génération de la chaîne, ce qui empêche également l’impression des travaux non liés.
L’application doit gérer le cas où l’utilisateur supprime un travail dans la chaîne avant la fin de l’impression de la chaîne. GetLastError retourne un _ paramètre non valide lorsqu’un JobID n’existe pas.
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 |
SetJobW (Unicode) et SetJobA (ANSI) |