言語とポート モニターの相互作用
次の図は、プリンター データによって印刷プロセッサから a) に言語モニターが関連付けられているプリンターへのパスを示しています。b) には言語モニターが関連付けされていません。
プリンターのインストール中に言語モニターがプリンターに関連付けられている場合、言語モニターはスプーラーの印刷プロセッサーからプリンターのデータ・ストリームを受け取ります。 言語モニターは、データ・ストリームを変更し、プリンターのポート・モニターに渡します。
印刷モニターによって定義されるほとんどの機能は、言語モニターとポート・モニターで同じです。 通常、言語モニターがデータ ストリーム パス内にある場合、スプーラーは言語モニターの関数の実装を呼び出し、言語モニターはポート モニターの同じ関数の実装を呼び出します。 たとえば、PJL 言語モニター (Pjlmon.dll) の WritePort 関数は、PJL コマンドをデータ ストリームに追加し、ポート モニターの WritePort を呼び出して、ストリームをポート ドライバーに送信します。
言語モニターがインストールされていない場合、スプーラーはポート・モニターの関数の実装を呼び出します。
言語モニターとポート モニターは印刷アーキテクチャの個別のコンポーネントであるため、カスタマイズされたモニターと Microsoft が提供するモニターを一緒に使用できます。 そのため、Microsoft が提供するポート モニターと組み合わせて動作するカスタマイズされた言語モニターを提供できます。その逆も可能です。
また、言語とポートモニターを組み合わせた単一の印刷モニターを提供することもできます。