次の方法で共有


開閉ポート

ポートの追加」に関する説明に従ってポートを追加した後、スプーラーは、適切な言語モニターの OpenPortEx 関数を呼び出すことによってポートを開くことができます。

言語モニターは、OpenPortEx 関数を使用してポート ハンドルを作成して返します。 通常、言語モニターは関連付けられているポート モニターの OpenPort 関数を呼び出し、言語モニターはポート モニターの OpenPort から取得したハンドルを返すだけです。

言語モニターがポートに関連付けられていない場合、スプーラーはポート モニターの OpenPort 関数を直接呼び出します。

スプーラーでは、1 つのポートへの複数のパスを一度に有効にすることはできません。 したがって、特定のモニターで OpenPortEx (または OpenPort) を呼び出した後は、閉じる前に同じポートを再度開こうとしません。

ポートを開いた後、スプーラーは、ポート ハンドルを入力引数として使用して、「印刷ジョブの印刷」の説明に 従って、ジョブを印刷する追加の関数を呼び出すことができます。 ポートを開いた後、スプーラーがポートを閉じる前に複数の印刷ジョブを送信できるように、モニターを書き込む必要があります。

ジョブを別の言語モニター経由で送信する必要がある場合、印刷キューがポートに関連付けられていない場合、またはシステムがシャットダウンすると、スプーラーはポートを閉じます。 ポートを閉じるには、スプーラーは、言語モニターの ClosePort 関数を呼び出します。 この関数は、ポートが開かれたときに作成されたハンドルを無効にします。 通常、言語モニターは、関連付けられているポート モニターによって定義された ClosePort 関数を呼び出します。

言語モニターがポートに関連付けられていない場合、スプーラーはポート モニターの ClosePort 関数を直接呼び出します。