サービス プロバイダー
サービス プロバイダーは、詳細なテレフォニー デバイス制御を実装します。 テレフォニー サービス プロバイダー (TSP) は通話制御を提供し、メディア サービス プロバイダーが存在する場合はメディア ストリームを制御します。
すべてのテレフォニー サービス プロバイダーは TAPISRV プロセスで実行されます。 サービス プロバイダーは、必要に応じて TAPISRV コンテキストでスレッドを作成し、作成したリソースが個々のアプリケーションの終了によって破棄されないという確信を持つことができます。 TAPI サーバーは、必要に応じてアプリケーション コマンドを、テレフォニー サービス プロバイダー インターフェイス (TSPI) と呼ばれる一貫した一連のコマンドに変換します。
メディア サービス プロバイダーは、アプリケーションのプロセス空間で実行されるため、メディア コントロールで高速な応答が必要になることがあります。 TAPI DLL は、メディア サービス プロバイダー インターフェイス (MSPI) に一貫した準拠を提供します。
サービス プロバイダーの詳細については、「 TAPI サービス プロバイダーの概要」を参照してください。
テレフォニー サービス プロバイダー DLL の下で、サービス プロバイダーは、必要なシステム機能やその他のコンポーネントを使用できます。 これらの関数には、 CreateFile と DeviceIoControl が含まれます。これは、独立したハードウェア ベンダーが設計したカーネル モード コンポーネントとサービス、および外部のローカルに接続されたデバイスを制御するためのシリアル ポートや並列ポートなどの標準デバイスと連携します。 また、クライアント/サーバー テレフォニーのネットワーク サービス (RPC、Windows ソケット、名前付きパイプなど) にアクセスすることもできます。
テレフォニー サービス プロバイダーのユーザー インターフェイス DLL は、TAPI によって、ダイアログ ボックスを表示できるサービス プロバイダー関数 (たとえば、 TSPI_lineConfigDialog) を呼び出すアプリケーションのプロセスに読み込まれます。 サービス プロバイダーは、データ モデムを使用して TSPI_lineMakeCall を使用して対話型音声呼び出しをダイヤルするときにユニバーサル モデム ドライバー (UNIMODEM) によって表示される [Talk/Hang-up] ダイアログ ボックス (通常は UI 生成機能とは見なされません) を表示するなど、サービス プロバイダーが予期しないタイミングで UI を表示する必要がある場合に、関連付けられている UI DLL をアプリケーションのプロセスで読み込んで実行することもできます。
プロキシ要求ハンドラーは、テレフォニー サーバー (テレフォニー サービス プロバイダーが関連付けられている回線デバイスに対して実行しているのと同じサーバー) で通常実行される完全なテレフォニー アプリケーションです。 このアーキテクチャは、WOSA サービス プロバイダー アーキテクチャではなく、特定のサービスがサーバー上のドライバーよりもアプリケーションに適切に実装されている場合に使用されます。 たとえば、ACD エージェント管理機能は、サービス プロバイダーではなくプロキシ要求ハンドラーに実装されます。
モデム制御用の UNIMODEM ドライバー サービス プロバイダーは、Windows Server 2003 オペレーティング システム、Windows XP、Windows 2000、Windows NTで使用できます。 Windows テレフォニーには、汎用カーネルモード テレフォニー サービス プロバイダー インターフェイス (TSPI) マッパー KMDDSP も含まれています。これにより、サービス プロバイダーをカーネル モードのデバイス ドライバーとして実装できます。