Função lineInitializeExA (tapi.h)
A função lineInitializeEx inicializa o uso do TAPI pelo aplicativo para uso subsequente da abstração de linha. Ele registra o mecanismo de notificação especificado do aplicativo e retorna o número de dispositivos de linha disponíveis para o aplicativo. Um dispositivo de linha é qualquer dispositivo que fornece uma implementação para as funções prefixadas por linha na API de Telefonia.
Sintaxe
LONG lineInitializeExA(
LPHLINEAPP lphLineApp,
HINSTANCE hInstance,
LINECALLBACK lpfnCallback,
LPCSTR lpszFriendlyAppName,
LPDWORD lpdwNumDevs,
LPDWORD lpdwAPIVersion,
LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams
);
Parâmetros
lphLineApp
Ponteiro para um local preenchido com o identificador de uso do aplicativo para TAPI.
hInstance
Identificador de instância do aplicativo cliente ou DLL. O aplicativo ou a DLL podem passar NULL para esse parâmetro, nesse caso, o TAPI usa o identificador de módulo do executável raiz do processo (para fins de identificação de destinos de entrega de chamada e prioridades de modo de mídia).
lpfnCallback
Endereço de uma função de retorno de chamada que é invocada para determinar status e eventos no dispositivo de linha, endereços ou chamadas, quando o aplicativo está usando o método "janela oculta" de notificação de evento (para obter mais informações, consulte lineCallbackFunc). Esse parâmetro é ignorado e deve ser definido como NULL quando o aplicativo optar por usar os mecanismos de notificação de evento "identificador de evento" ou "porta de conclusão".
lpszFriendlyAppName
Ponteiro para um cadeia de caracteres de textoterminada em nulo que contém apenas caracteres exibiveis. Se esse parâmetro não for NULL, ele conterá um nome fornecido pelo aplicativo. Esse nome é fornecido na estrutura LINECALLINFO
lpdwNumDevs
Ponteiro para um local do tamanho deDWORD
lpdwAPIVersion
Ponteiro para um local do tamanho deDWORD
lpLineInitializeExParams
Ponteiro para uma estrutura do tipo LINEINITIALIZEEXPARAMS contendo parâmetros adicionais usados para estabelecer a associação entre o aplicativo e o TAPI (especificamente, o mecanismo de notificação de eventos selecionado do aplicativo e os parâmetros associados).
Valor de retorno
Retornará zero se a solicitação for bem-sucedida ou um número de erro negativo se ocorrer um erro. Os possíveis valores retornados são:
LINEERR_INVALAPPNAME, LINEERR_OPERATIONFAILED, LINEERR_INIFILECORRUPT, LINEERR_INVALPOINTER, LINEERR_REINIT, LINEERR_NOMEM, LINEERR_INVALPARAM.
Observações
Os aplicativos devem selecionar um dos três mecanismos pelos quais o TAPI notifica a aplicação de eventos de telefonia: Janela Oculta, Identificador de Evento ou Porta de Conclusão.
O mecanismo janela oculta é selecionado especificando LINEINITIALIZEEXOPTION_USEHIDDENWINDOW no membro
O mecanismo do Identificador de Eventos é selecionado especificando LINEINITIALIZEEXOPTION_USEEVENT no membro
O mecanismo porta de conclusão é selecionado especificando LINEINITIALIZEEXOPTION_USECOMPLETION PORT no membro
Quando um aplicativo multithread está usando o mecanismo do Identificador de Eventos e mais de um thread está aguardando no identificador ou o mecanismo de notificação da Porta de Conclusão e mais de um thread está aguardando na porta, é possível que os eventos de telefonia sejam processados fora da sequência. Isso não se deve à sequência de entrega de eventos do TAPI, mas seria causado pelo intervalo de tempo de threads ou pela execução de threads em processadores separados.
Se LINEERR_REINIT for retornado e a reinicialização do TAPI tiver sido solicitada, por exemplo, como resultado da adição ou remoção de um provedor de serviços de telefonia, solicitações lineInitializeEx são rejeitadas com esse erro até que o último aplicativo desligue o uso da API (usando lineShutdown), momento em que a nova configuração se torna eficaz e os aplicativos são novamente autorizados a chamar lineInitializeEx.
Se o valor do erro LINEERR_INVALPARAM for retornado, o parâmetro hInstance especificado será inválido.
O aplicativo pode se referir a dispositivos de linha individuais usando identificadores de dispositivo de linha que variam de zero a dwNumDevs menos um. Um aplicativo não deve assumir que esses dispositivos de linha são capazes de qualquer função TAPI específica sem primeiro consultar seus recursos de dispositivo lineGetDevCaps e lineGetAddressCaps.
Nota
O cabeçalho tapi.h define lineInitializeEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino |
Windows |
cabeçalho | tapi.h |
biblioteca | Tapi32.lib |
de DLL |
Tapi32.dll |
Consulte também
Referência dos Serviços básicos de telefonia
LINEINITIALIZEEXPARAMS
visão geral de referência do TAPI 2.2
lineGetAddressCaps