Udostępnij przez


Negocjowanie wersji

Z czasem mogą istnieć różne wersje dla aplikacji TAPI, interfejsu TAPI i dostawców usług. Optymalna współdziałanie aplikacji TAPI wymaga znajomości nie tylko wersji interfejsu TAPI aplikacji, ale także biblioteki DLL TAPI, interfejsu TAPISVR i wersji dostawcy usług.

Brak odpowiedniego negocjowania wersji może spowodować poważne problemy. Na przykład niektóre silnie używane struktury mają składowe danych dodane z jednej wersji do następnej. Jeśli rozmiar struktury nie jest zgodny z oczekiwaniami aplikacji lub interfejsu TAPI, konsekwencje wahają się od przecieków pamięci do sporadycznych woluminów AV.

Aby uzyskać dodatkowe informacje, zobacz obsługa wersji interfejsu TAPI.

TAPI 2.x: aplikacje negocjują z interfejsem TAPI i TAPISVR podczas lineInitializeEx. Aplikacje wykonują negocjacje urządzeń z dostawcami usług, wywołując lineNegotiateAPIVersion dla każdego wiersza, którego może używać aplikacja.

TAPI 3.x: Nie ma potrzeby przeprowadzania negocjacji wersji; można jednak użyć QueryInterface, aby określić, czy interfejs jest dostępny w ich wersji.