本節討論 CoNDIS WAN 迷你埠驅動程式如何列舉其適用於應用程式的 TAPI 功能。 這些 TAPI 功能包含:
迷你埠驅動程式支援線路裝置的數目包括數據機、傳真板和ISDN卡。
特定線路的資訊包括,例如,線路識別符和通道位址數量(電話號碼),以支援同時傳輸語音和數據。
裝置線路上特定通道位址的資訊--位址資訊包括來電者(來電者標識符)的身分識別,以及可能的作用中通話數目。
若要擷取基礎硬體的相關信息,NDPROXY 會針對線路和通道位址功能發出要求。 也就是說,NDPROXY 驅動程式會查詢 CoNDIS WAN 迷你埠驅動程式的 TAPI 功能。 NDPROXY 驅動程式會呼叫 NdisCoOidRequest 函式來查詢迷你埠驅動程式的 TAPI 功能。 在此呼叫中,NDPROXY 會傳遞NDIS_OID_REQUEST結構。 NDPROXY 在 NDIS_OID_REQUEST中指定下列專案:
NdisRequestQueryInformationRequestType 成員中的值
物件識別碼 (OID) ,指定從 Oid 成員中迷你埠驅動程式擷取的TAPI功能
緩衝區,以保存 InformationBuffer 成員中傳回的 TAPI 功能資訊
NDPROXY 驅動程式傳送至 CoNDIS WAN 迷你埠驅動程式的所有查詢都可以以同步或異步方式完成。 如果 CoNDIS WAN 迷你埠驅動程式判斷無法立即完成查詢,則只要傳回NDIS_STATUS_PENDING,並在完成查詢時,從其 ProtocolCoOidRequest 函式中呼叫 NdisMCmOidRequestComplete 函式。
在 CoNDIS WAN 迷你埠驅動程式按照 CoNDIS TAPI 註冊中的規定通知 NDPROXY 註冊新的地址族後,NDPROXY 會查詢下列 OID,以判斷 CoNDIS WAN 迷你埠驅動程式及其閘道卡的 TAPI 特定功能。
NDPROXY 會使用 OID_CO_TAPI_CM_CAPS 查詢迷你埠驅動程式,以判斷迷你埠驅動程式裝置所支援的行數(其提供TAPI服務的裝置)。 此 OID 也會要求迷你埠驅動程式指出這些線路是否有不同的線路功能。
NDPROXY 接下來會使用 OID_CO_TAPI_LINE_CAPS 查詢迷你埠驅動程式,以判斷指定線路的電話語音功能。 此 OID 也會要求迷你埠驅動程式,指示這一行上的位址是否具有不同的位址能力。
- 如果先前的 OID_CO_TAPI_CM_CAPS 查詢指出迷你埠驅動程式的裝置僅支援一條線路,或者若然裝置支援多條具有相同行功能的線路,NDPROXY 必須僅查詢 OID_CO_TAPI_LINE_CAPS 一次次,以獲得該裝置的線功能。 在此情況下,迷你埠驅動程序傳回的線路功能會套用至裝置上的所有線路。
- 如果裝置支援具有不同行功能的多行,NDPROXY 必須查詢OID_CO_TAPI_LINE_CAPS一次,才能取得每一行的行功能。
最後,NDPROXY 會使用 OID_CO_TAPI_ADDRESS_CAPS 查詢迷你埠驅動程式,以判斷指定線路上指定位址的電話語音功能。
- 如果先前的OID_CO_TAPI_LINE_CAPS查詢指出該行只支援一個位址或該行上所有位址具有相同的位址功能,NDPROXY 查詢只會OID_CO_TAPI_ADDRESS_CAPS一次,以判斷該行上所有位址的功能。
- 如果一條線路支援多個具有不同功能的位址,則 NDPROXY 對該線路上的每個位址查詢 OID_CO_TAPI_ADDRESS_CAPS 一次。
NDPROXY 驅動程式會使用 TAPI 列舉 OID 取得的信息來執行下列動作:
為後續的 TAPI 呼叫建立 TAPI 參數。
判斷是否要接受或拒絕後續連入 TAPI 呼叫。
註冊一或多個 TAPI 服務存取點(SAP),以接收後續傳入的 TAPI 呼叫。