Sprachmonitore

Sprachmonitore sind DLLs im Benutzermodus, die zwei Zwecken dienen:

  • Sie bieten einen Vollständigduplexkommunikationspfad zwischen dem Druckspooler und bidirektionalen Druckern, der softwarezugängliche status Informationen bereitstellen kann.

  • Sie fügen dem Datenstrom Druckersteuerungsinformationen hinzu, z. B. Befehle, die von einer Druckerauftragssprache definiert werden.

Microsoft bietet einen Sprachmonitor, Pjlmon.dll, der die Druckerauftragssprache (PJL) unterstützt, und bietet bidirektionale Kommunikation für PJL-Drucker. Weitere Informationen finden Sie unter Beispielsprachmonitor.

Benutzerdefinierte Sprachmonitore können zur Unterstützung anderer Auftragssteuerungssprachen für unidirektionale oder bidirektionale Drucker geschrieben werden.

Sprachmonitore sind optional und nur einem bestimmten Druckertyp zugeordnet, wenn sie in der INF-Datei des Druckers enthalten sind, wie unter Installieren eines Druckmonitors beschrieben.

Wenn Sie das Kontrollkästchen Bidirektionale Unterstützung aktivieren auf der Registerkarte Ports des Dialogfelds Druckereigenschaften deaktivieren, ruft der Spooler die Funktionen StartDocPort, WritePort, EndDocPort, GetPrinterDataFromPort und ReadPort des Sprachmonitors nicht auf.

Der Spooler ruft weiterhin die Funktionen OpenPortEx, ClosePort, SendRecvBidiDataFromPort auf, auch wenn bidirektionale Unterstützung aktivieren deaktiviert ist. Das Kontrollkästchen Bidirektionale Unterstützung aktivieren wirkt sich nicht auf die Aufrufe des Sprachmonitors aus, die ausgeführt werden, wenn eine Anwendung Funktionen in der bidirektionalen Kommunikations-API aufruft.

Wenn einem Drucker ein Sprachmonitor zugeordnet ist, empfängt der Sprachmonitor den Datenstrom des Druckers vom Druckprozessor, ändert ihn und übergibt ihn an den Portmonitor des Druckers. Weitere Informationen finden Sie unter Sprach- und Portmonitorinteraktion.

Hinweis

Sprachmonitore sollten immer die SendRecvBidiDataFromPort-Funktion implementieren und die Adresse der Funktion in den pfnSendRecvBidiDataFromPort-Member der MONITOR2-Struktur einschließen.

Falls der Sprachmonitor bidi nicht unterstützt oder die Anforderung Bidi-Schemawerte enthält, die der Sprachmonitor nicht unterstützt, sollte der Sprachmonitor die Aufrufe an die SendRecvBidiDataFromPort-Funktion des Portmonitors weiterleiten.