语言监视器与端口监视器的交互

下图演示了打印机数据从打印处理器到) 具有与之关联的语言监视器的打印机的路径:和 b) 没有与之关联的语言监视器。

将打印机数据路径与语言监视器和无语言监视器进行比较的图。

如果在打印机安装期间,语言监视器与打印机相关联,则语言监视器将从后台处理程序的打印处理器接收打印机的数据流。 语言监视器修改数据流并将其传递到打印机的端口监视器。

打印监视器定义的大多数功能对于语言监视器端口监视器都是相同的。 通常,如果语言监视器位于数据流路径中,后台处理程序将调用语言监视器对函数的实现,语言监视器调用端口监视器对同一函数的实现。 例如,PJL 语言监视器 (Pjlmon.dll 中的 WritePort 函数) 将 PJL 命令添加到数据流,然后调用端口监视器的 WritePort 将流发送到端口驱动程序。

如果未安装语言监视器,后台处理程序将调用端口监视器对 函数的实现。

由于语言监视器和端口监视器是打印体系结构的离散组件,因此自定义监视器和 Microsoft 提供的监视器可以一起使用。 因此,可以提供与 Microsoft 提供的端口监视器配合使用的自定义语言监视器,反之亦然。

还可以提供由 语言和端口监视器组合组成的单个打印监视器。