Compartilhar via


função TSPI_lineCompleteTransfer (tspi.h)

A função TSPI_lineCompleteTransfer conclui a transferência da chamada especificada para a parte conectada na chamada de consulta. Se dwTransferMode for LINETRANSFERMODE_CONFERENCE, o identificador de chamada original será alterado para uma chamada em conferência. Caso contrário, o provedor de serviços deverá enviar mensagens de estado de chamada alterando as chamadas para ociosas.

Sintaxe

LONG TSPIAPI TSPI_lineCompleteTransfer(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall,
  HDRVCALL      hdConsultCall,
  HTAPICALL     htConfCall,
  LPHDRVCALL    lphdConfCall,
  DWORD         dwTransferMode
);

Parâmetros

dwRequestID

O identificador da solicitação assíncrona.

hdCall

O identificador do provedor de serviços para a chamada a ser transferida. O estado de chamada de hdCall pode ser onHoldPendingTransfer.

hdConsultCall

Um identificador para a chamada que representa uma conexão com o destino da transferência. O estado de chamada de hdConsultCall pode ser conectado, ringback, ocupado ou em andamento.

htConfCall

Esse parâmetro só será válido se dwTransferMode for especificado como LINETRANSFERMODE_CONFERENCE. O provedor de serviços deve salvar esse valor de parâmetro e usá-lo em todas as chamadas subsequentes para os eventos de relatório de procedimento LINEEVENT na chamada. Caso contrário, esse parâmetro será ignorado.

lphdConfCall

Um ponteiro para um HDRVCALL que representa o identificador do provedor de serviços para a chamada. Esse parâmetro só será válido se dwTransferMode for especificado como LINETRANSFERMODE_CONFERENCE. O provedor de serviços deve preencher esse local com seu identificador para a nova chamada de conferência antes de retornar dessa função.

dwTransferMode

Especifica como a solicitação de transferência iniciada deve ser resolvida. Esse parâmetro usa uma das constantes LINETRANSFERMODE_.

Retornar valor

Retorna dwRequestID ou um número de erro se ocorrer um erro. O parâmetro real lResult do ASYNC_COMPLETION correspondente será zero se a função for bem-sucedida ou um número de erro se ocorrer um erro. Os possíveis valores retornados são os seguintes:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_NOMEM, LINEERR_RESOURCEUNAVAIL.

Comentários

Essa função conclui a transferência da chamada original, hdCall, para a parte atualmente conectada por meio de hdConsultCall. A chamada de consulta normalmente é discada na chamada de consulta alocada como parte de TSPI_lineSetupTransfer, mas pode ser qualquer chamada para a qual a opção é capaz de transferir hdCall.

A solicitação de transferência pode ser resolvida como uma transferência ou como uma chamada de conferência de três vias. Quando resolvidos como uma transferência, as partes conectadas por meio de hdCall e hdConsultCall são conectadas entre si e a transição hdCall e hdConsultCall para o estado ocioso.

Quando resolvido como uma conferência, todas as três partes entram em uma chamada em conferência. Ambos os identificadores de chamada existentes permanecem válidos, mas fazem a transição para o estado em conferência . Um identificador de chamada de conferência é criado e retornado e faz a transição para o estado conectado .

Também pode ser possível executar uma transferência cega de uma chamada usando TSPI_lineBlindTransfer.

Essa função difere da função TAPI correspondente, pois segue o modelo TSPI para iniciar o tempo de vida de uma chamada. O TAPI e o provedor de serviços trocam identificadores opacos que representam a chamada entre si. Além disso, o provedor de serviços tem permissão para fazer retornos de chamada para a nova chamada antes de retornar desse procedimento. De qualquer forma, o provedor de serviços também deve tratar o identificador retornado como "ainda não válido" até que a mensagem de ASYNC_COMPLETION correspondente reporte êxito. Em outras palavras, ele não deve emitir nenhuma mensagem LINEEVENT para a nova chamada ou incluí-la em contagens de chamadas em mensagens ou estruturas de dados status para a linha.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho tspi.h

Confira também

ASYNC_COMPLETION

LINEEVENT

Constantes LINETRANSFERMODE_

LINE_CALLSTATE

TSPI_lineBlindTransfer

TSPI_lineCloseCall

TSPI_lineSetupTransfer