版本协商
随着时间的推移,TAPI 应用程序、TAPI 和服务提供商可能存在不同的版本。 TAPI 应用程序的最佳互操作性不仅需要了解应用程序的 TAPI 版本,还需要了解 TAPI DLL、TAPISVR 和服务提供商版本。
未能进行适当的版本协商可能会导致严重问题。 例如,某些频繁使用的结构将数据成员从一个版本添加到下一个版本。 如果结构大小与应用程序或 TAPI 预期的大小不匹配,则后果从内存泄漏到间歇性 AV 不等。
有关其他信息,请参阅 TAPI 版本控制。
TAPI 2.x: 应用程序在 lineInitializeEx 期间与 TAPI 和 TAPISVR 协商。 应用程序通过为应用程序可能使用的每一行调用 lineNegotiateAPIVersion 来与服务提供商执行设备协商。
TAPI 3.x: 无需执行版本协商;但是,可以使用 QueryInterface 来确定其版本上是否有可用的接口。