시간이 지남에 따라 TAPI 애플리케이션, TAPI 및 서비스 공급자에 대해 다른 버전이 존재할 수 있습니다. TAPI 애플리케이션의 최적의 상호 운용성을 위해서는 애플리케이션의 TAPI 버전뿐만 아니라 TAPI DLL, TAPISVR 및 서비스 공급자 버전에 대한 지식이 필요합니다.
적절한 버전 협상을 수행하지 못하면 심각한 문제가 발생할 수 있습니다. 예를 들어 많이 사용되는 일부 구조체에는 데이터 멤버가 한 버전에서 다음 버전으로 추가됩니다. 구조 크기가 애플리케이션 또는 TAPI에서 예상하는 것과 일치하지 않으면 메모리 누수부터 간헐적 EV까지 다양한 결과가 발생합니다.
자세한 내용은 TAPI 버전 관리참조하세요.
TAPI 2.x: 애플리케이션은 lineInitializeEx동안 TAPI 및 TAPISVR과 협상합니다. 애플리케이션은 애플리케이션에서 사용할 수 있는 각 줄에 대해 lineNegotiateAPIVersion 호출하여 서비스 공급자와 디바이스 협상을 수행합니다.
TAPI 3.x: 버전 협상을 수행할 필요가 없습니다. 그러나 QueryInterface 사용하여 해당 버전에서 인터페이스를 사용할 수 있는지 확인할 수 있습니다.