Função lineSetupTransferA (tapi.h)

A função lineSetupTransfer inicia uma transferência da chamada especificada pelo parâmetro hCall. Ele estabelece uma chamada de consulta, lphConsultCall, na qual a parte pode ser discada que pode se tornar o destino da transferência. O aplicativo adquire o privilégio de proprietário para o parâmetro lphConsultCall.

Sintaxe

LONG lineSetupTransferA(
  HCALL                  hCall,
  LPHCALL                lphConsultCall,
  LPLINECALLPARAMS const lpCallParams
);

Parâmetros

hCall

Manipule para a chamada a ser transferida. O aplicativo deve ser um proprietário da chamada. O estado de chamada de hCall deve ser conectado.

lphConsultCall

Ponteiro para um identificador de hCall . Esse local é carregado com um identificador que identifica a chamada de consulta temporária. Ao configurar uma chamada para transferência, uma chamada de consulta é alocada automaticamente que permite lineDial discar o endereço associado ao novo destino de transferência da chamada. A parte de origem pode continuar uma conversa sobre essa chamada de consulta antes de concluir a transferência. O estado de chamada de hConsultCall não é aplicável.

Esse procedimento de transferência pode não ser válido para alguns dispositivos de linha. O aplicativo pode precisar ignorar a nova chamada de consulta e desocupar uma chamada mantida existente (usando lineUnhold) para identificar o destino da transferência. Em comutadores que dão suporte à transferência de chamada entre endereços, a chamada de consulta pode existir em um endereço diferente da chamada a ser transferida. Também pode ser necessário que a chamada de consulta seja configurada como uma chamada totalmente nova, lineMakeCall, para o destino da transferência. Quais formulários de transferência estão disponíveis são especificados nos recursos de endereço da chamada.

lpCallParams

Ponteiro para uma estrutura LINECALLPARAMS que contém os parâmetros de chamada a serem usados ao estabelecer a chamada de consulta. Esse parâmetro pode ser definido como NULL se nenhum parâmetro de configuração de chamada especial for desejado.

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_BEARERMODEUNAVAIL, LINEERR_INVALRATE, LINEERR_CALLUNAVAIL, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_NOTOWNER, LINEERR_INVALADDRESSMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALBEARERMODE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RATEUNAVAIL, LINEERR_INVALCALLPARAMS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALLINESTATE, LINEERR_UNINITIALIZED, LINEERR_INVALMEDIAMODE, LINEERR_USERUSERINFOTOOBIG, LINEERR_ INVALPOINTER.

Observações

A função lineSetupTransfer configura a transferência da chamada especificada por hCall. A fase de instalação de uma transferência estabelece uma chamada de consulta que permite que o aplicativo envie o endereço do destino (para o qual a parte será transferida) para a opção, enquanto a chamada a ser transferida é mantida em espera. Essa nova chamada é conhecida como uma chamada de consulta (hConsultCall) e pode ser descartada ou manipulada independentemente da chamada original.

Quando a chamada de consulta chegar ao dialtone estado de chamada, o aplicativo poderá continuar transferindo a chamada discando o endereço de destino e acompanhando seu progresso ou desativando uma chamada existente. A transferência da chamada original para o destino selecionado é concluída usando lineCompleteTransfer.

Embora a chamada de consulta exista, a chamada original normalmente faz a transição para o estado onholdPendingTransfer. O aplicativo pode ser capaz de alternar entre a chamada de consulta e a chamada original usando lineSwapHold. Uma chamada de consulta pode ser cancelada invocando lineDrop nela. Depois de descartar uma chamada de consulta, a chamada original normalmente faz a transição de volta para a estado de conectado. Se o estado da chamada original for onholdPendingTransfer, a função lineUnhold poderá ser usada para recuperar a chamada. Nesse caso, o estado de chamada da chamada de consulta é definido como ocioso.

O aplicativo também pode transferir chamadas em uma única etapa, sem precisar lidar com a chamada de consulta interveniente, usando lineBlindTransfer.

Nota

O cabeçalho tapi.h define lineSetupTransfer 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

LINECALLPARAMS

LINE_REPLY

Funções de serviço de linha suplementar

visão geral de referência do TAPI 2.2

Visão geral da transferência

lineBlindTransfer

lineCompleteTransfer

lineDial

lineDrop

lineMakeCall

lineSwapHold

lineUnhold