Поделиться через


Функция lineCompleteTransfer (tapi.h)

Функция lineCompleteTransfer завершает передачу указанного вызова стороне, подключенной в вызове консультации.

Синтаксис

LONG lineCompleteTransfer(
  HCALL   hCall,
  HCALL   hConsultCall,
  LPHCALL lphConfCall,
  DWORD   dwTransferMode
);

Параметры

hCall

Дескриптор вызова для передачи. Приложение должно быть владельцем этого вызова. Состояние вызова hCall должно быть onHold или onHoldPendingTransfer.

hConsultCall

Дескриптор вызова , представляющего соединение с назначением передачи. Приложение должно быть владельцем этого вызова. Состояние вызова hConsultCall должно быть подключенным, обратным, занятым или продолженным.

lphConfCall

Указатель на расположение памяти, в котором можно вернуть дескриптор hCall . Если параметр dwTransferMode LINETRANSFERMODE_CONFERENCE, вновь созданный конференц-звонок возвращается в lphConfCall , и приложение становится единственным владельцем конференции. В противном случае этот параметр игнорируется TAPI.

dwTransferMode

Способ разрешения инициированного запроса на передачу. Этот параметр использует одну из констант LINETRANSFERMODE_.

Возвращаемое значение

Возвращает положительный идентификатор запроса, если функция выполняется асинхронно, или отрицательный номер ошибки при возникновении ошибки. Параметр dwParam2 соответствующего сообщения LINE_REPLY равен нулю, если функция завершается успешно, или отрицательным номером ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCONSULTCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALTRANSFERMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED LINEERR_NOMEM.

Комментарии

Сообщение LINE_REPLY, отправленное в ответ на вызов функции lineCompleteTransfer , основано на состоянии вызова, заданном параметром hCall .

Эта операция завершает передачу исходного вызова hCall стороне, подключенной hConsultCall. Консультационный звонок обычно набирается во время консультационного звонка, выделенного как часть lineSetupTransfer, но это может быть любой вызов, на который переключатель может передать hCall.

Запрос на передачу можно разрешить либо как передачу, либо как трехсторонняя конференция. При разрешении как передача стороны, соединенные hCall и hConsultCall , соединяются друг с другом, а hCall и hConsultCall обычно очищаются из строки приложения и переходят в состояние простоя . Дескриптор вызова приложения остается действительным после завершения передачи. Приложение должно освободить свой дескриптор с помощью lineDeallocateCall , если оно больше не заинтересовано в переданном вызове.

При разрешении конференции все три стороны вступают в конференцию. Оба существующих дескриптора вызовов остаются действительными, но переходят в состояние конференций . Создается и возвращается дескриптор конференц-звонка, который переходит в подключенное состояние.

Если lineGetConfRelatedCalls вызывается сразу после lineCompleteTransfer с результатом конференции вызовов, lineGetConfRelatedCalls может не возвращать полный список связанных вызовов. Это связано с тем, что TAPI ожидает получения LINE_CALLSTATE сообщения о том, что звонок поступил LINECALLSTATE_CONFERENCED, прежде чем считать звонок фактически частью конференции. То есть он ожидает, пока поставщик услуг подтвердит состояние конференции. После того как приложение получит сообщение LINE_CALLSTATE, lineGetConfRelatedCalls возвращает полные сведения.

Также можно выполнить слепую передачу вызова с помощью lineBlindTransfer.

Требования

Требование Значение
Целевая платформа Windows
Header tapi.h
Библиотека Tapi32.lib
DLL Tapi32.dll

См. также раздел

LINE_CALLSTATE

LINE_REPLY

Дополнительные функции линейной службы

Обзор справочника по TAPI 2.2

Общие сведения о переносе

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer