言語モニター
言語モニターは2つの目的があるユーザー モード DLL です。
これらは、ソフトウェアでアクセス可能な状態情報を提供できる、印刷スプーラーと双方向プリンターの間の全二重通信パスを提供します。
プリンター・ジョブ言語によって定義されたコマンドなどのプリンター制御情報をデータ ストリームに追加します。
Microsoft では、プリンター ジョブ言語 (PJL) をサポートする言語モニター Pjlmon.dllを提供し、PJL プリンターの双方向通信を提供しています。 詳細については、 サンプル言語モニターを参照してください。
カスタマイズされた言語モニターは、一方向または双方向のプリンター用に、他のジョブ制御言語をサポートするように記述できます。
言語モニターはオプションであり、印刷モニターのインストールの説明に従って、プリンターの INF ファイルに含まれている場合にのみ、特定のプリンターの種類に関連付けられます。
[プリンターのプロパティ] ダイアログ ボックスの ポート タブで 双方向サポートの有効化チェック ボックスをオフにした場合、スプーラーは、言語モニターの StartDocPort、WritePort、EndDocPort、GetPrinterDataFromPort、ReadPort 関数を呼び出しません。
スプーラーは、双方向サポートの有効化が解除された場合でも、OpenPortEx、ClosePort、SendRecvBidiDataFromPort 関数を引き続き呼び出します。 双方向サポートチェックを有効にするボックスは、アプリケーションが双方向通信 API で関数を呼び出すときに行われる言語モニターの呼び出しには影響しません。
言語モニターがプリンターに関連付けられている場合、言語モニターは印刷プロセッサーからプリンターのデータ ストリームを受け取り、変更してプリンターのポートモニターに渡します。 詳細については、言語とポート モニターの相互作用を参照してください。
Note
言語モニターは常に SendRecvBidiDataFromPort 関数を実装し、MONITOR2構造体の pfnSendRecvBidiDataFromPort メンバーに関数のアドレスを含める必要があります。
言語モニターが bidi をサポートしていない場合、または言語モニターがサポートしていない bidi スキーマ値が要求に含まれている場合、言語モニターはポート モニターの SendRecvBidiDataFromPort 関数に呼び出しを転送する必要があります。