Partilhar via


Inicialização e desligamento

Para que um aplicativo use qualquer uma das 30 funções suplementares do telefone da TAPI, ele precisa de uma conexão com a TAPI, através da qual ele pode receber mensagens. O aplicativo estabelece essa conexão usando a funçãophoneInitializeEx. Nesta função, o aplicativo especifica o mecanismo de notificação pelo qual a TAPI informa a aplicação de alterações no estado do telefone e de conclusão assíncrona das funções do telefone.

A função phoneInitializeEx retorna duas informações para o aplicativo: um identificador de aplicativo e o número de dispositivos telefônicos. O identificador de aplicativo representa o uso de TAPI pelo aplicativo. As funções TAPI que usam identificadores de telefone não exigem o identificador de aplicativo, pois esse identificador é derivado do identificador de telefone especificado.

A segunda informação retornada por phoneInitializeEx é o número de dispositivos telefônicos disponíveis para a TAPI. Os dispositivos telefónicos são identificados pelo respetivo identificador de dispositivo (ID do dispositivo). Os identificadores de dispositivos válidos variam de zero ao número de dispositivos telefónicos menos um. Por exemplo, se phoneInitializeEx informar que há dois dispositivos telefônicos em um sistema, os identificadores válidos de dispositivo telefônico serão 0 e 1. Depois que um aplicativo termina de usar as funções de telefone do TAPI, ele invoca phoneShutdown, passando seu identificador de aplicativo para desligar seu uso do TAPI. Isso permite que a TAPI libere todos os recursos atribuídos ao aplicativo.

Os aplicativos não devem invocar phoneInitializeEx sem abrir posteriormente um telefone (pelo menos para monitoramento). Se o aplicativo não estiver monitorando e não estiver usando nenhum dispositivo, ele deve chamar phoneShutdown para que os recursos de memória alocados pela biblioteca de vínculo dinâmico TAPI possam ser liberados se desnecessário, e a própria biblioteca possa ser descarregada da memória enquanto não for necessária.

Tanto phoneInitializeEx quanto phoneShutdown operar de forma síncrona. Ou seja, essas funções retornam uma indicação de sucesso ou falha e nunca retornam um identificador de solicitação assíncrono.