Moniteurs de langue
Les moniteurs de langage sont des DLL en mode utilisateur qui remplissent deux objectifs :
Ils fournissent un chemin de communication duplex complet entre le spouleur d’impression et les imprimantes bidirectionnelles qui sont capables de fournir des informations de status accessibles par logiciel.
Ils ajoutent des informations de contrôle d’imprimante, telles que des commandes définies par un langage de travail d’imprimante, au flux de données.
Microsoft fournit un moniteur de langue, Pjlmon.dll, qui prend en charge le langage de travail de l’imprimante (PJL) et fournit une communication bidirectionnelle pour les imprimantes PJL. Pour plus d’informations, consultez Exemple de moniteur de langue.
Les moniteurs de langue personnalisés peuvent être écrits pour prendre en charge d’autres langages de contrôle de travail, pour les imprimantes unidirectionnelles ou bidirectionnelles.
Les moniteurs de langue sont facultatifs et uniquement associés à un type d’imprimante particulier s’ils sont inclus dans le fichier INF de l’imprimante, comme décrit dans Installation d’un moniteur d’impression.
Si vous désactivez la case Activer la prise en charge bidirectionnelle case activée dans l’onglet Ports de la boîte de dialogue propriétés de l’imprimante, le spouleur n’appelle pas les fonctions StartDocPort, WritePort, EndDocPort, GetPrinterDataFromPort et ReadPort du moniteur de langage.
Le spouleur continue d’appeler les fonctions OpenPortEx, ClosePort, SendRecvBidiDataFromPort , même lorsque l’option Activer la prise en charge bidirectionnelle est désactivée. La zone Activer la prise en charge bidirectionnelle case activée n’affecte pas les appels au moniteur de langue effectués lorsqu’une application appelle des fonctions dans l’API de communication bidirectionnelle.
Si un moniteur de langue est associé à une imprimante, celui-ci reçoit le flux de données de l’imprimante du processeur d’impression, le modifie et le transmet au moniteur de port de l’imprimante. Pour plus d’informations, consultez Interaction du moniteur de langue et de port.
Notes
Les moniteurs de langage doivent toujours implémenter la fonction SendRecvBidiDataFromPort et inclure l’adresse de la fonction dans le membre pfnSendRecvBidiDataFromPort de la structure MONITOR2 .
Dans le cas où le moniteur de langue ne prend pas en charge bidi ou que la demande contient des valeurs de schéma bidi que le moniteur de langage ne prend pas en charge, le moniteur de langue doit transférer les appels à la fonction SendRecvBidiDataFromPort du moniteur de port.