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.
A função lineMakeCall coloca uma chamada na linha especificada para o endereço de destino especificado. Opcionalmente, os parâmetros de chamada podem ser especificados se qualquer coisa, exceto parâmetros de configuração de chamada padrão, forem solicitados.
Sintaxe
LONG lineMakeCallA(
HLINE hLine,
LPHCALL lphCall,
LPCSTR lpszDestAddress,
DWORD dwCountryCode,
LPLINECALLPARAMS const lpCallParams
);
Parâmetros
hLine
Manipule para o dispositivo de linha aberta no qual uma chamada deve ser originada.
lphCall
Ponteiro para um identificador HCALL. O identificador só é válido depois que a mensagem de LINE_REPLY é recebida pelo aplicativo indicando que a função lineMakeCall concluída com êxito. Use esse identificador para identificar a chamada ao invocar outras operações de telefonia na chamada. Inicialmente, o aplicativo é o único proprietário dessa chamada. Esse identificador será nulo se a função retornar um erro (de forma síncrona ou assíncrona pela mensagem de resposta).
lpszDestAddress
Ponteiro para o endereço de destino. Isso segue o formato de número discável padrão. Esse ponteiro pode ser NULL para endereços não discados (como com um telefone quente) ou quando todas as discagem são executadas usando lineDial. Neste último caso, lineMakeCall aloca uma aparência de chamada disponível que normalmente permaneceria no estado de dialtone até que a discagem comece. Provedores de serviços que têm funcionalidades de multiplexação inversas podem permitir que um aplicativo especifique vários endereços ao mesmo tempo.
dwCountryCode
Código de país ou região da parte chamada. Se um valor de 0 for especificado, um padrão será usado pela implementação.
lpCallParams
Ponteiro para uma estrutura de
Valor de retorno
Retorna um identificador de solicitação positivo se a função for concluída de forma assíncrona ou um número de erro negativo se ocorrer um erro. O parâmetro dwParam2 da mensagem LINE_REPLY correspondente é zero se a função for bem-sucedida ou se for um número de erro negativo se ocorrer um erro. Os possíveis valores retornados são:
LINEERR_ADDRESSBLOCKED, LINEERR_INVALLINEHANDLE, LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_DIALBILLING, LINEERR_INVALPARAM, LINEERR_DIALDIALTONE, LINEERR_INVALPOINTER, LINEERR_DIALPROMPT, LINEERR_INVALRATE, LINEERR_DIALQUIET, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESSID, LINEERR_RATEUNAVAIL, LINEERR_INVALADDRESSMODE, LINEERR_ RESOURCEUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALCALLPARAMS, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE, LINEERR_USERUSERINFOTOOBIG.
Observações
Se LINEERR_INVALLINESTATE for retornado, a linha não está atualmente em um estado no qual essa operação pode ser executada. Uma lista de operações válidas no momento pode ser encontrada no membro
Após a conclusão da discagem, várias mensagens LINE_CALLSTATE geralmente são enviadas ao aplicativo para notificá-lo sobre o progresso da chamada. Nenhuma sequência geralmente válida de transições de estado de chamada é especificada, pois nenhuma sequência fixa única de transições pode ser garantida na prática. Uma sequência típica pode fazer com que uma chamada faça a transição de dialtone, de discagem, continuar, de ringback para conectados. Com linhas não discadas, a chamada normalmente pode fazer a transição diretamente para estado de conectado.
Um aplicativo tem a opção de especificar um endereço de origem no dispositivo de linha especificado. Um provedor de serviços que modela todas as estações em um comutador como endereços em um único dispositivo de linha permite que o aplicativo origine chamadas de qualquer uma dessas estações usando lineMakeCall.
Os parâmetros de chamada permitem que o aplicativo faça chamadas sem voz ou solicite opções especiais de configuração de chamada que não estão disponíveis por padrão.
Um aplicativo pode discar parcialmente usando lineMakeCall e continuar discando usando lineDial. Para obter mais informações sobre discagem parcial, consulte lineDial e TSPI_lineMakeCall. Para abandonar uma tentativa de chamada, use lineDrop .
Depois que lineMakeCall retorna uma mensagem de resposta de êxito para o aplicativo, uma mensagem LINE_CALLSTATE é enviada ao aplicativo para indicar o estado atual da chamada. Esse estado não é necessariamente LINECALLSTATE_DIALTONE.
Essa função pode enviar dados pelo fio no formulário não criptografado; portanto, alguém escutando na rede pode ser capaz de ler os dados. O risco de segurança de enviar os dados em texto claro deve ser considerado antes de usar esse método.
Nota
O cabeçalho tapi.h define lineMakeCall 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