Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os serviços de linha estendida (ou serviços de linha específicos do dispositivo) incluem todas as extensões definidas pelo provedor de serviços para a API. A API define um mecanismo que permite que os fornecedores do provedor de serviços estendam a TAPI usando extensões específicas do dispositivo. A API define apenas o mecanismo de extensão e, ao fazê-lo, fornece acesso a extensões específicas do dispositivo, mas a API não define seu comportamento. O comportamento é completamente definido pelo provedor de serviços.
O TAPI consiste em definições de constante escalar e de sinalizador de bits, estruturas de dados, funções e mensagens. São definidos procedimentos que permitem que um fornecedor estenda a maioria deles da seguinte maneira.
Para constantes de dados escalares extensíveis, um fornecedor de provedor de serviços pode definir novos valores em um intervalo especificado. Como a maioria das constantes de dados são DWORDs, normalmente o intervalo 0x00000000 por meio de 0x7FFFFFFF é reservado para extensões futuras comuns, enquanto 0x80000000 por meio de 0xFFFFFFFF estão disponíveis para extensões específicas do fornecedor. A suposição é que um fornecedor definiria valores que são extensões naturais dos tipos de dados definidos pela API.
Para constantes de dados extensíveis de sinalizador de bits, um fornecedor de provedor de serviços pode definir novos valores para bits especificados. Como a maioria das constantes de sinalizador de bits são DWORDs, normalmente um número específico dos bits inferiores são reservados para extensões comuns enquanto os bits superiores restantes estão disponíveis para extensões específicas do fornecedor. Sinalizadores de bits comuns são atribuídos do bit zero para cima; As extensões específicas do fornecedor devem ser atribuídas do bit 31 para baixo. Isso fornece flexibilidade máxima na atribuição de posições de bit a extensões comuns versus extensões específicas do fornecedor. Espera-se que um fornecedor defina novos valores que são extensões naturais dos sinalizadores de bit definidos pela API.
As estruturas de dados extensíveis têm um campo de tamanho variavelmente reservado para uso específico do dispositivo. Sendo dimensionado variavelmente, o provedor de serviços decide a quantidade de informações e a interpretação. Espera-se que um fornecedor que defina um campo específico do dispositivo torne essas extensões naturais da estrutura de dados original definidas pela API.
Duas funções, lineDevSpecific e lineDevSpecificFeaturee duas mensagens relacionadas, LINE_DEVSPECIFIC e LINE_DEVSPECIFICFEATURE, fornecem um mecanismo de extensão específico do fornecedor. A função lineDevSpecific e a mensagem LINE_DEVSPECIFIC associada permitem que um aplicativo acesse recursos de linha, endereço ou chamada específicos do dispositivo que não estão disponíveis com os serviços básicos ou de telefonia suplementar. O perfil de parâmetro da função lineDevSpecific é genérico, em que pouca interpretação dos parâmetros é feita pela API. A interpretação dos parâmetros é definida pelo provedor de serviços e deve ser compreendida por um aplicativo que os usa. Os parâmetros são simplesmente passados por TAPI do aplicativo para o provedor de serviços. Um aplicativo que depende de extensões específicas do dispositivo geralmente não funcionará com outros provedores de serviços; no entanto, os aplicativos gravados nos serviços de Telefonia Básica e Complementar funcionarão com o provedor de serviços estendido.
Para conveniência, uma função de escape mais especializada também é fornecida. É semelhante a lineDevSpecific, mas coloca interpretação em alguns dos parâmetros. Essa função mais especializada é lineDevSpecificFeature, uma função de escape específica do dispositivo para permitir o envio de recursos de comutador para a opção. A mensagem LINE_DEVSPECIFICFEATURE é a mensagem específica do dispositivo enviada ao aplicativo como uma indicação dos recursos enviados para a opção. Essa função e sua mensagem associada permitem que um aplicativo emule pressionamentos de botão no telefone de recursos da linha. Como os telefones de recursos e os significados de seus botões são específicos do fornecedor, a invocação de recursos usando lineDevSpecificFeature também é específica do fornecedor.
Conforme mencionado anteriormente, não há registro central para identificadores de fabricante. Em vez disso, um EXTIDGEN (gerador de identificador exclusivo) é disponibilizado.