TAPI 版本控制

随着时间的推移,可能会生成不同版本的 TAPI、应用程序和服务提供商。 这些新版本可以生成新的定义,例如针对新功能、数据结构中的新成员和新位字段。 因此,需要版本号来指示如何解释各种数据结构。

为使不同版本的应用程序、TAPI 本身版本以及不同供应商的服务提供商版本实现最佳互操作性,Microsoft Telephony 为应用程序提供了简单的版本协商机制。 对于每个线路设备,TAPI 和电话服务提供商需要就两个不同的版本达成一致。 第一种是与 TAPI 和电话服务提供商协商的版本, (TSP) 基本电话和补充电话,称为 TAPI 接口版本。 另一个用于提供程序特定的扩展(如果有),称为扩展版本。 TAPI 的基本和补充功能使用的数据结构和数据类型的格式由 TAPI 版本定义,而扩展版本确定供应商特定扩展定义的数据结构的格式。

lineNegotiateAPIVersion 函数协商 TAPI 版本,lineNegotiateExtVersion 协商 TSP 扩展版本。 单个 TSP 可以处理多个版本,并且如果使用的是较旧的 TSP,则应用程序必须“回退”到使用较旧版本。 在 lineNegotiateAPIVersion 中, dwApiVersion 参数根据版本默认为值,如下所示。

TAPI 版本 默认值
1.3 0x00010003
1.4 0x00010004
2.0 0x00020000
2.1 0x00020001
2.2 0x00020002

 

但是,只要 TSP 本身使用比应用程序版本更新的版本,TAPI 就使此操作变得容易得多。 如果 TSP 确实较新,则 TAPI 能够将“向下”转换为应用程序的版本。 例如,TAPI 2.0 TSP 不需要专门能够处理 TAPI 版本 1.4。 如果运行 TAPI 1.4 应用程序,TAPI 会将所有 TAPI 2.0 结构和消息转换为 TAPI 1.4 等效项,或尽可能接近。 如果 TAPI 1.4 中没有接近近似值,则所有特定于 TAPI 2.0 的信息都将丢失。

扩展版本的确切含义特定于提供程序。 若要使用支持扩展的 TSP,请参阅提供程序的文档。

TAPI 有许多版本。 虽然其中大多数版本都涉及对 TSPI) 文档集 (TAPI 和电话服务提供商接口的更改,但每个版本还有其他影响,即体系结构差异、操作系统变体、可再发行组件和 TSP 开发问题。

TAPI 版本 分发
1.0 – 1.2 不应再使用的 Beta 版本。
1.4 包含在 Windows 95 中。
1.5 包含在 Windows CE 1.0 中。
2.0 包含在 sp3 的 Windows NT 4.0 中。
2.1 包含在 sp4 和 Windows 98 的 Windows NT 4.0 中。
2.2 包含在 Windows Server 2003、Windows XP 和 Windows 2000 中。