CoNDIS TAPI の初期化
このセクションでは、CoNDIS WAN ミニポート ドライバーがアプリケーションの TAPI 機能を列挙する方法について説明します。 これらの TAPI 機能は次で構成されます。
ミニポート ドライバーがサポートする回線デバイスの数。回線デバイスには、モデム、FAX ボード、ISDN カードなどが含まれます。
特定の回線情報に関する情報には、回線識別子や、音声とデータの同時送信に対応するチャネル アドレス (電話番号) の数などが含まれます。
デバイス回線の特定のチャネル アドレスに関する情報 -- アドレス情報には、呼び出し元の ID (発信者 ID) や可能なアクティブな呼び出しの数などが含まれます。
基になるハードウェアに関する情報を取得するために、NDPROXY は回線とチャネル アドレスの機能に対する要求を発行します。 つまり、NDPROXY ドライバーは、CoNDIS WAN ミニポート ドライバーの TAPI 機能を照会します。 NDPROXY ドライバーは、NdisCoOidRequest 関数を呼び出してミニポート ドライバーの TAPI 機能を照会します。 この呼び出しでは、NDPROXY は NDIS_OID_REQUEST 構造を渡します。 NDPROXY は、NDIS_OID_REQUEST で以下を指定します。
RequestType メンバーの NdisRequestQueryInformation 値
Oid メンバーのミニポート ドライバー から取得する TAPI 機能を指定するオブジェクト識別子 (OID )
InformationBuffer メンバーで返される TAPI 機能情報を保持するバッファー
NDPROXY ドライバーによって CoNDIS WAN ミニポート ドライバーに送信されるすべてのクエリは、同期的または非同期的に完了できます。 CoNDIS WAN ミニポート ドライバーがクエリをすぐに完了できないと判断した場合は、単に NDIS_STATUS_PENDING を返し、クエリが完了したときにその ProtocolCoOidRequest 関数内から NdisMCmOidRequestComplete 関数を呼び出すことができます。
CoNDIS WAN ミニポート ドライバーは、CoNDIS TAPI 登録で指定されている新しいアドレス ファミリの登録について NDPROXY に通知した後、NDPROXY は次の OID を照会して、CoNDIS WAN ミニポート ドライバーとミニポート ドライバーの NIC の TAPI 固有の機能を決定します。
NDPROXY は、ミニポート ドライバー のデバイス (TAPI サービスを提供するデバイス) でサポートされている回線の数を決定する OID_CO_TAPI_CM_CAPS でミニポート ドライバーに照会します。 また、この OID は、ミニポート ドライバーにこれらの回線に異なる回線機能があるかどうかを示すよう要求します。
NDPROXY は次に、ミニポート ドライバーに OID_CO_TAPI_LINE_CAPS を照会して、指定された回線のテレフォニー機能を決定します。 この OID は、ミニポート ドライバーにこの回線のアドレスが異なるアドレス機能を持っているかどうかを示すようにも要求します。
- OID_CO_TAPI_CM_CAPS の前のクエリで、ミニポート ドライバーのデバイスが 1 回線のみをサポートすることが示されている場合、またはデバイスが同じ回線機能を持つ複数の回線をサポートしている場合、NDPROXY はデバイスの回線機能を取得するために 1 回だけ OID_CO_TAPI_LINE_CAPS を照会する必要があります。 この場合、ミニポート ドライバーによって返される回線機能は、デバイス上のすべての回線に適用されます。
- デバイスが異なる回線機能を持つ複数の回線をサポートしている場合、NDPROXY は各回線に対して 1 回 OID_CO_TAPI_LINE_CAPS クエリを実行して、各回線の回線機能を取得する必要があります。
最後に、NDPROXY は、指定した回線上の指定したアドレスのテレフォニー機能を決定する OID_CO_TAPI_ADDRESS_CAPS を使用してミニポート ドライバーに照会します。
- OID_CO_TAPI_LINE_CAPS の前のクエリで、回線が 1 つのアドレスのみをサポートしているか、または回線のすべてのアドレスが同じアドレス機能を持つことが示されている場合、クライアントは 1 回 OID_CO_TAPI_ADDRESS_CAPS クエリを実行して、回線のすべてのアドレスの機能を判断します。
- 異なる機能を持つ複数のアドレスが 1 回線でサポートされている場合、クライアントは回線のアドレスごとに 1 回 OID_CO_TAPI_ADDRESS_CAPS クエリを実行します。
NDPROXY ドライバーは、TAPI 列挙 OID で取得した情報を使用して、次の操作を行います。
後続の TAPI 呼び出し用の TAPI パラメーターを作成します。
後続の TAPI 呼び出しを受け入れるか拒否するかを決定します。
後続の着信 TAPI 呼び出しを受信する 1 つ以上の TAPI サービス アクセス ポイント (SAP) を登録します。