Função linePickupA (tapi.h)

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 lpszGroupID pode ser especificado por si só com um ponteiro de NULL para lpszDestAddress. Como alternativa, lpszGroupID podem ser especificadas além de lpszDestAddress, se necessário pelo dispositivo.

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 LINECALLINFO fornece informações sobre a chamada que foi captada. Ele lista o motivo da chamada como de retirada. Essa estrutura está disponível usando lineGetCallInfo.

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 dwAddressFeatures em LINEADDRESSSTATUS indica quando a retirada é realmente possível.

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

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

visão geral do pickup

Funções de serviço de linha suplementar

visão geral de referência do TAPI 2.2

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold