Fonction ControlPrintProcessor (winsplp.h)
La fonction ControlPrintProcessor d’un processeur d’impression permet au spouleur de contrôler un travail d’impression.
Syntaxe
BOOL ControlPrintProcessor(
[in] HANDLE hPrintProcessor,
[in] DWORD Command
);
Paramètres
[in] hPrintProcessor
Poignée du processeur d’impression fournie par l’appelant. Il s’agit du handle retourné par un appel précédent à OpenPrintProcessor.
[in] Command
Commande fournie par l’appelant indiquant le type d’opération à effectuer. Les commandes suivantes sont valides :
Commande | Définition |
---|---|
JOB_CONTROL_CANCEL | La fonction doit annuler le travail d’impression en cours. |
JOB_CONTROL_PAUSE | La fonction doit suspendre le travail d’impression en cours. |
JOB_CONTROL_RESUME | La fonction doit reprendre le travail d’impression en cours. |
Valeur retournée
Si l’opération réussit, la fonction doit retourner TRUE. Si l’opération échoue, la fonction doit appeler SetLastError pour définir un code d’erreur, puis retourner FALSE.
Remarques
Les processeurs d’impression sont nécessaires pour exporter une fonction ControlPrintProcessor . Le spouleur appelle la fonction lorsqu’une application appelle la fonction SetJob, décrite dans la documentation Microsoft Windows SDK.
En fonction de la valeur reçue pour Command, la fonction doit suspendre, reprendre ou annuler le travail en cours. La fonction ControlPrintProcessor peut être appelée de manière asynchrone pendant l’exécution de la fonction PrintDocumentOnPrintProcessor du processeur d’impression. Par conséquent, une technique de synchronisation doit être utilisée, comme la définition d’un objet événement défini en interne pour suspendre un travail et la réinitialisation de l’objet d’événement lorsque le travail est repris. La fonction ControlPrintProcessor peut rapidement retourner après avoir défini ou réinitialisé l’objet d’événement, et PrintDocumentOnPrintProcessor peut attendre que l’événement soit dans le bon état.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | winsplp.h (inclure Winsplp.h) |
Bibliothèque | Nwprint.lib |