Funções projetadas para gerar interface do usuário

Suponha para fins de um exemplo que o aplicativo chama a função TAPI lineConfigDialog , que foi projetada para abrir uma caixa de diálogo para permitir a configuração das opções do provedor de serviços relacionadas ao dispositivo de linha especificado. Em resposta a essa chamada, a TAPI solicita que TAPISRV chame TSPI_providerUIIdentify no provedor de serviços de telefonia, obtendo o nome da DLL da interface do usuário do TSP.

No contexto do aplicativo, o TAPI carrega a DLL da interface do usuário do TSP e chama a função TUISPI_lineConfigDialog com os parâmetros fornecidos pelo aplicativo e incluindo um ponteiro para a função DllCallbackProc da TAPI. A DLL da interface do usuário do TSP exibe a caixa de diálogo de configuração, chamando a função DllCallbackProc conforme necessário para obter do provedor de serviços de telefonia as informações a serem exibidas. Sempre que a função DllCallbackProc é chamada, o TAPI solicita a TAPISRV para chamar a função TSPI_providerGenericDialogData do provedor de serviços de telefonia, passando o bloco de parâmetros da DLL da interface do usuário e retornando o bloco de parâmetros para a DLL da interface do usuário. A DLL da interface do usuário transmite qualquer alteração de configuração para o provedor de serviços de telefonia chamando DllCallbackProc.

Quando a função for concluída, a DLL da interface do usuário retornará (nesse caso) TUISPI_lineConfigDialog. O TAPI chama a função FreeLibrary para liberar a DLL da interface do usuário e retorna ao aplicativo.