Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A função linePickup recebe um alerta de chamada no endereço de destino especificado e retorna um identificador de chamada para a chamada selecionada. Se invocado com NULL para o parâmetro lpszDestAddress, uma retirada de grupo será executada. Se exigido pelo dispositivo, lpszGroupID especifica o identificador de grupo ao qual a estação de alerta pertence.
Sintaxe
LONG linePickupA(
HLINE hLine,
DWORD dwAddressID,
LPHCALL lphCall,
LPCSTR lpszDestAddress,
LPCSTR lpszGroupID
);
Parâmetros
hLine
Manipule para o dispositivo de linha aberta no qual uma chamada deve ser captada.
dwAddressID
Endereço em hLine no qual a retirada deve ser originada. Um identificador de endereço está permanentemente associado a um endereço; o identificador permanece constante em atualizações do sistema operacional.
lphCall
Ponteiro para um local de memória em que o identificador para a chamada captada é retornado. O aplicativo é o único proprietário inicial da chamada.
lpszDestAddress
Ponteiro para um buffer de caracteresencerrado nulo que contém o endereço cuja chamada deve ser selecionada. O endereço está no formato de endereço discável padrão.
lpszGroupID
Ponteiro para um buffer de caracteresencerrado nulo que contém o identificador de grupo ao qual a estação de alerta pertence. Esse parâmetro é necessário em algumas opções para atender chamadas fora do grupo de retirada atual.
O parâmetro
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_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.
Observações
Quando uma chamada é captada com êxito, o aplicativo é notificado pela mensagem LINE_CALLSTATE sobre alterações de estado de chamada. A estrutura
Se LINEADDRCAPFLAGS_PICKUPCALLWAIT for TRUE, linePickup poderá ser usado para pegar uma chamada para a qual o usuário detectou audivelmente o sinal de espera de chamada, mas para o qual o provedor não consegue executar a detecção. Isso dá ao usuário um mecanismo para "responder" a uma chamada de espera, mesmo que o provedor de serviços não tenha conseguido detectar o sinal de espera de chamada. Ambos lpszDestAddress e parâmetros de ponteiro de lpszGroupID devem ser NULL para receber uma chamada de espera de chamada. A função linePickup cria um novo identificador de chamada para a chamada de espera e passa esse identificador para o usuário. O parâmetro dwAddressID geralmente é zero (particularmente em casos residenciais de linha única).
Depois que linePickup tiver sido usado para pegar a segunda chamada, lineSwapHold podem ser usados para alternar entre eles. A função lineDrop pode ser usada para soltar uma (e alternar para a outra) e assim por diante. Se o usuário quiser remover a chamada atual e atender a segunda chamada, ele deverá chamar lineDrop quando receber o bipe de espera de chamada, aguardar a segunda chamada tocar e, em seguida, chamar lineAnswer no novo identificador de chamada. O sinalizador LINEADDRFEATURE_PICKUP no membro
Nota
O cabeçalho tapi.h define linePickup 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
Funções de serviço de linha suplementar