Controle de versão do TAPI
Ao longo do tempo, diferentes versões do TAPI, aplicativos e provedores de serviços podem ser produzidas. Essas novas versões podem criar novas definições, como para novos recursos, novos membros em estruturas de dados e novos campos de bits. Portanto, os números de versão são necessários para indicar como interpretar várias estruturas de dados.
Para permitir a interoperabilidade ideal de diferentes versões de aplicativos, versões do próprio TAPI e versões de provedores de serviços por diferentes fornecedores, a Telefonia da Microsoft fornece um mecanismo de negociação de versão simples para aplicativos. Há duas versões diferentes que o TAPI e o provedor de serviços de telefonia precisam concordar para cada dispositivo de linha. A primeira é a versão negociada com TAPI e o provedor de serviços de telefonia (TSP) Básico e Telefonia Suplementar, conhecido como a versão da interface TAPI. O outro é para extensões específicas do provedor, se houver, e é chamado de versão de extensão. O formato das estruturas de dados e dos tipos de dados usados pelos recursos Básico e Suplementar do TAPI é definido pela versão TAPI, enquanto a versão da extensão determina o formato das estruturas de dados definidas pelas extensões específicas do fornecedor.
A função lineNegotiateAPIVersion negocia uma versão tapi e lineNegotiateExtVersion negocia a versão da extensão TSP. Um único TSP pode ser capaz de lidar com mais de uma versão, e um aplicativo deve "fazer fallback" para usar uma versão mais antiga se estiver usando um TSP mais antigo. Em lineNegotiateAPIVersion , o parâmetro dwApiVersion usa como padrão um valor de acordo com a versão, da seguinte maneira.
Versão do TAPI | Valor padrão |
---|---|
1.3 | 0x00010003 |
1.4 | 0x00010004 |
2,0 | 0x00020000 |
2.1 | 0x00020001 |
2,2 | 0x00020002 |
No entanto, o TAPI torna isso muito mais fácil, desde que o TSP em si esteja usando uma versão mais recente do que o aplicativo. Se o TSP for realmente mais recente, o TAPI será capaz de traduzir "para baixo" para a versão do aplicativo. Por exemplo, os TSPs do TAPI 2.0 não precisam ser especificamente capazes de lidar com o TAPI versão 1.4. Se um aplicativo TAPI 1.4 for executado, o TAPI converterá todas as estruturas e mensagens do TAPI 2.0 em equivalentes do TAPI 1.4 ou o mais próximo possível. Se não houver nenhuma aproximação próxima no TAPI 1.4, todas as informações específicas do TAPI 2.0 serão perdidas.
O significado preciso de uma versão de extensão é específico do provedor. Para usar um TSP que dê suporte a extensões, consulte a documentação do provedor.
Há várias versões do TAPI. Embora a maioria dessas versões tenha envolvido alterações nos conjuntos de documentação do TAPI e da TSPI (Interface do Provedor de Serviços de Telefonia), há outras implicações para cada versão, ou seja, diferenças arquitetônicas, variações do sistema operacional, redistribuíveis e problemas de desenvolvimento de TSP.
Versão do TAPI | Distribuição |
---|---|
1.0 – 1.2 | Versões beta que não devem mais ser usadas. |
1.4 | Incluído no Windows 95. |
1.5 | Incluído no Windows CE 1.0. |
2.0 | Incluído no Windows NT 4.0 com SP3. |
2.1 | Incluído no Windows NT 4.0 com SP4 e Windows 98. |
2.2 | Incluído no Windows Server 2003, Windows XP e Windows 2000. |