ポートを追加する
ポートの追加は、ポートの名前とユーザーが変更できる構成情報をポート モニター サーバー DLL のローカル ストレージまたはレジストリに格納することで構成されます。
アプリケーションは、印刷スプーラーの AddPort 関数を呼び出すときに、ポート モニターの名前を関数引数として指定します。 スプーラーは、特定のポート モニターの ポート モニター UI DLL に含まれる AddPortUI 関数を呼び出します。
ポート モニター UI DLL の AddPortUI 関数は、次の操作を実行する必要があります。
印刷スプーラーの OpenPrinter 関数を呼び出します。これにより、ポート モニター サーバー DLL の XcvOpenPort 関数が呼び出されます。
印刷スプーラーの XcvData 関数を複数回呼び出して、ポート モニター サーバー DLL にポートの追加を要求し、UI DLL とサーバー DLL の間で構成情報を転送します。 XcvData 関数は、サーバー DLL の XcvDataPort 関数を呼び出します。 AddPortUI 関数は通常、ダイアログ ボックスを表示してユーザーから構成情報を取得します。
印刷スプーラーの ClosePrinter 関数を呼び出します。これにより、ポート モニター サーバー DLL の XcvClosePort 関数が呼び出されます。
これらの操作の詳細については、AddPortUI の説明をご参照ください。 「ポート構成情報の格納」もご参照ください。
ポート モニターの EnumPorts 関数は、追加されたすべてのポートを列挙する必要があります。 スプーラーは、各ポート モニターの EnumPorts 関数を呼び出して、プリント サーバーでサポートされているポートのセットを決定できます。