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

Функция lineHold помещает указанный вызов на удержание.

Синтаксис

LONG lineHold(
  HCALL hCall
);

Параметры

hCall

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

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

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

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

Комментарии

Звонок при удержании временно отключен, что позволяет приложению использовать устройство линии для выполнения других вызовов или ответа на нее. Функция lineHold выполняет так называемое "жесткое удержание" указанного вызова (в отличие от "консультационного вызова"). Вызов, находящийся на жестком удержании, обычно не может быть передан или включен в конференцию, но консультативный звонок может. Вызовы консультаций инициируются с помощью lineSetupTransfer, lineSetupConference или linePrepareAddToConference.

После успешного перевода вызова на удержание состояние вызова обычно переходит в onHold. Удерживаемый вызов извлекается lineUnhold. Пока звонок находится на удержании, приложение может получать LINE_CALLSTATE сообщения об изменениях состояния удерживаемого вызова. Например, если удерживаемая сторона зависает, состояние вызова может перейти на отключенное.

В ситуации с мостами операция lineHold может фактически не поставить вызов на удержание, так как состояние других станций в вызове может регулироваться (например, попытка "удержать" вызов, когда другие станции участвуют, невозможно); Вместо этого вызов можно просто изменить на режим LINECONNECTEDMODE_INACTIVE, если он остается подключенным на других станциях.

Требования

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

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

Общие сведения о удержании

LINE_CALLSTATE

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

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

linePrepareAddToConference

lineSetupConference

lineSetupTransfer

lineUnhold