função TSPI_lineDial (tspi.h)
A função TSPI_lineDial disca o número discável especificado na chamada especificada.
Sintaxe
LONG TSPIAPI TSPI_lineDial(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
LPCWSTR lpszDestAddress,
DWORD dwCountryCode
);
Parâmetros
dwRequestID
O identificador da solicitação assíncrona.
hdCall
O identificador do provedor de serviços para a chamada a ser discada. O estado de chamada do hdCall pode ser qualquer estado , exceto ocioso e desconectado.
lpszDestAddress
Ponteiro para uma cadeia de caracteres Unicode terminada em nulo que especifica o destino a ser discado usando o formato de número discável padrão.
dwCountryCode
O código do país ou região do destino. A implementação usa isso para selecionar os protocolos de progresso da chamada para o endereço de destino. Se um valor de 0 for especificado, um protocolo de progresso de chamada padrão definido pelo provedor de serviços será usado. O TAPI não valida esse parâmetro quando essa função é chamada.
Retornar valor
Retorna dwRequestID ou um número de erro se ocorrer um erro. O parâmetro real lResult do ASYNC_COMPLETION correspondente será zero se a função for bem-sucedida ou um número de erro se ocorrer um erro. Os possíveis valores retornados são os seguintes:
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCOUNTRYCODE, LINEERR_DIALBILLING, LINEERR_INVALCALLSTATE, LINEERR_DIALQUIET, LINEERR_ADDRESSBLOCKED, LINEERR_DIALDIALTONE, LINEERR_NOMEM, LINEERR_DIALPROMPT, LINEERR_OPERATIONUNAVAIL.
Comentários
O provedor de serviços retornará LINEERR_INVALCALLSTATE se o estado atual da chamada não permitir discagem.
O provedor de serviços não executará nenhuma discagem se retornar LINEERR_INVALADDRESS.
Se o provedor de serviços retornar LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE ou LINEERR_DIALPROMPT, ele não deverá executar nenhuma das ações executadas de outra forma por TSPI_lineDial (por exemplo, sem discagem parcial e sem offhook). Isso ocorre porque o provedor de serviços deve verificar previamente o número de caracteres sem suporte primeiro.
TSPI_lineDial é usado para discar em uma aparência de chamada existente; por exemplo, identificadores de chamada retornados de TSPI_lineMakeCall com NULL como lpszDestAddress ou terminando em ';', identificadores de chamada retornados de TSPI_lineSetupTransfer ou TSPI_lineSetupConference. TSPI_lineDial pode ser invocado várias vezes no curso da discagem no caso de discagem em vários estágios, se as funcionalidades do dispositivo da linha permitirem isso.
Se a cadeia de caracteres apontada pelo parâmetro lpszDestAddress na chamada anterior para a função TSPI_lineMakeCall ou TSPI_lineDial for encerrada com um ponto e vírgula, uma cadeia de caracteres vazia na chamada atual para TSPI_lineDial indicará que a discagem está concluída.
Vários endereços podem ser fornecidos em uma única cadeia de caracteres de discagem separada por CRLF. Os provedores de serviços que fornecem multiplexação inversa podem estabelecer chamadas físicas individuais com cada um dos endereços e retornar um único identificador de chamada para a agregação de todas as chamadas ao aplicativo. Todos os endereços usariam o mesmo código de país ou região.
A discagem é considerada concluída depois que o endereço é aceito pelo provedor de serviços, não depois que a chamada é finalmente conectada. Os provedores de serviços que fornecem multiplexação inversa podem permitir que vários endereços sejam fornecidos de uma só vez. O provedor de serviços deve enviar mensagens LINE_CALLSTATE ao TAPI para informá-lo sobre o progresso da chamada.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | tspi.h |