Função lineAnswer (tapi.h)
A função lineAnswer atende à chamada de oferta especificada.
Sintaxe
LONG lineAnswer(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);
Parâmetros
hCall
Identificador para a chamada a ser atendida. O aplicativo deve ser um proprietário dessa chamada. O estado de chamada de hCall deve estar oferecendo ou aceito.
lpsUserUserInfo
Ponteiro para uma cadeia de caracteres terminada em nulo que contém informações de usuário-usuário a serem enviadas para a parte remota no momento em que a chamada é atendida. Esse ponteiro poderá ser deixado NULL se nenhuma informação de usuário deve ser enviada. As informações do usuário são enviadas somente se houver suporte da rede subjacente (consulte LINEDEVCAPS). O campo discriminador de protocolo para as informações do usuário-usuário, se necessário, deve aparecer como o primeiro byte do buffer apontado por lpsUserUserInfo e deve ser contabilizado no dwSize.
dwSize
Tamanho das informações de usuário-usuário em lpsUserUserInfo (incluindo o terminador nulo ), em bytes Se lpsUserUserInfo for NULL, nenhuma informação de usuário-usuário será enviada para a parte de chamada e dwSize será ignorada.
Valor retornado
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 de LINE_REPLY correspondente será zero se a função for bem-sucedida ou se for um número de erro negativo se ocorrer um erro. Os valores retornados possíveis são:
LINEERR_INUSE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NOMEM, LINEERR_USERUSERINFOTOOBIG, LINEERR_NOTOWNER.
Comentários
Quando uma nova chamada chega, os aplicativos com interesse na chamada recebem uma mensagem LINE_CALLSTATE para fornecer o novo identificador de chamada e informar o aplicativo sobre o estado da chamada e os privilégios para a nova chamada (como monitor ou proprietário). O aplicativo com privilégio de proprietário para a chamada pode atender a essa chamada usando lineAnswer. Depois que a chamada tiver sido atendida com êxito, a chamada normalmente faz a transição para o estado conectado . Inicialmente, apenas um aplicativo recebe privilégio de proprietário para a chamada de entrada.
Em alguns ambientes de telefonia (como ISDN), em que o alerta do usuário é separado da oferta de chamada, o aplicativo pode ter a opção de aceitar uma chamada antes de responder ou rejeitar ou redirecionar a chamada de oferta.
Se uma chamada entrar (é oferecida) no momento em que outra chamada já estiver ativa, invocar lineAnswer se conectará à nova chamada. O efeito que isso tem na chamada ativa existente depende dos recursos do dispositivo da linha. A primeira chamada pode não ser afetada, pode ser descartada automaticamente ou pode ser colocada automaticamente em espera. As mensagens de LINE_CALLSTATE apropriadas relatam transições de estado para o aplicativo sobre ambas as chamadas.
Em uma situação de ponte, se uma chamada estiver conectada, mas no estado LINECONNECTEDMODE_INACTIVE, ela poderá ser unida usando a função lineAnswer .
O aplicativo tem a opção de enviar informações de usuário-usuário no momento da resposta. Mesmo que as informações de usuário-usuário possam ser enviadas, não há nenhuma garantia de que a rede fornecerá essas informações à parte de chamada. Um aplicativo deve consultar os recursos de dispositivo de uma linha para determinar se o envio de informações do usuário ao atender à chamada está disponível.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | tapi.h |
Biblioteca | Tapi32.lib |
DLL | Tapi32.dll |