CoNDIS TAPI 注册
本部分讨论 CoNDIS WAN 微型端口驱动程序如何指示它支持 TAPI 服务,以及如何设置与 NDISWAN 和 NDPROXY 驱动程序的 TAPI 特定通信。
在 CoNDIS WAN 微型端口驱动程序为一个或多个 NIC 注册其微型端口驱动程序入口点后,以下操作会导致 NDISWAN 和 NDPROXY 驱动程序以 TAPI 特定的方式与这些 NIC 相关联。
CoNDIS WAN 微型端口驱动程序从其 MiniportInitializeEx 函数中调用 NdisMCmRegisterAddressFamilyEx 函数,以注册其调用管理器入口点和地址系列类型CO_ADDRESS_FAMILY_TAPI_PROXY。 通过这样做,微型端口驱动程序会播发它提供 TAPI 服务。
NDIS 调用 NDPROXY 的 ProtocolCoAfRegisterNotify 函数,以通知 NDPROXY 新注册的地址系列。 NDPROXY 的 ProtocolCoAfRegisterNotify 检查地址系列数据,并确定它可以使用集成到 CoNDIS WAN 微型端口驱动程序的呼叫管理器提供的 TAPI 服务。 支持 TAPI 的 CoNDIS WAN 微型端口驱动程序是集成微型端口调用管理器 (MCM) 驱动程序。
NDPROXY 调用 NdisClOpenAddressFamilyEx 函数以打开与 CoNDIS WAN 微型端口驱动程序关联的 TAPI-proxy 地址系列。 NdisClOpenAddressFamilyEx 向 NDIS 注册 NDPROXY 的面向连接的入口点。 这些入口点用于与支持 TAPI 的 CoNDIS WAN 微型端口驱动程序通信。
NDPROXY 调用 NdisCmRegisterAddressFamilyEx 来注册其呼叫管理器入口点和地址系列类型CO_ADDRESS_FAMILY_TAPI。 通过执行此操作,NDPROXY 将播发它实现 TAPI 服务。
NDIS 调用 NDISWAN 的 ProtocolCoAfRegisterNotify 函数来通知 NDISWAN 新注册的地址系列。 NDISWAN 的 ProtocolCoAfRegisterNotify 检查地址系列数据并确定 NDISWAN 可以使用 NDPROXY 提供的 TAPI 服务。
NDISWAN 调用 NdisClOpenAddressFamilyEx 函数以打开与 NDPROXY 关联的 TAPI 地址系列。 NdisClOpenAddressFamilyEx 向 NDIS 注册 NDISWAN 面向连接的入口点。 这些入口点用于与 NDPROXY 通信。
NDISWAN 调用 NdisClRegisterSap 函数以通知 NDPROXY NDISWAN 可以接受特定服务接入点上的传入呼叫 (SAP) 。 在此调用中,NDISWAN 传递描述 SAP 的CO_SAP 结构。 NDISWAN 将 CO_SAP 的 SapType 成员设置为 AF_TAPI_SAP_TYPE,以指定 SAP 将用于 TAPI 调用。 NDISWAN 将 CO_SAP 的 Sap 成员设置为特定 TAPI 设备类的字符串。 当应用程序调用 TAPI lineGetID 函数时,TAPI 应用程序会提供此字符串。 NDPROXY 应通知 NDISWAN 所有已寻址到 SAP 的传入呼叫。