時間の経過と同時に、TAPI アプリケーション、TAPI、およびサービス プロバイダーには異なるバージョンが存在する可能性があります。 TAPI アプリケーションの最適な相互運用性には、アプリケーションの TAPI バージョンだけでなく、TAPI DLL、TAPISVR、サービス プロバイダーのバージョンに関する知識も必要です。
適切なバージョン ネゴシエーションを実行しないと、重大な問題が発生する可能性があります。 たとえば、頻繁に使用される構造の中には、あるバージョンから次のバージョンにデータ メンバーが追加されているものもあります。 構造体のサイズがアプリケーションまたは TAPI が期待するサイズと一致しない場合、結果はメモリ リークから断続的なAVまで多岐に及びます。
詳細については、「TAPI バージョン管理 を参照してください。
TAPI 2.x: アプリケーションは、lineInitializeEx中に TAPI および TAPISVR とネゴシエートします。 アプリケーションは、アプリケーションが使用する可能性がある各行 lineNegotiateAPIVersion を呼び出すことによって、サービス プロバイダーとのデバイス ネゴシエーションを実行します。
TAPI 3.x: バージョン ネゴシエーションを実行する必要はありません。ただし、QueryInterface を使用して、インターフェイスがバージョンで使用可能かどうかを判断できます。