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

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

Синтаксис

LONG lineDrop(
  HCALL  hCall,
  LPCSTR lpsUserUserInfo,
  DWORD  dwSize
);

Параметры

hCall

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

lpsUserUserInfo

Указатель на строку, содержащую сведения о пользователе и пользователе, отправляемые удаленной стороне при отключении вызова. Этот указатель можно оставить null , если не нужно отправлять сведения о пользователе. Сведения о пользователе отправляются, только если они поддерживаются базовой сетью (см. lineDEVCAPS). Поле дискриминатора протокола для сведений о пользователе и пользователе, если это необходимо, должно отображаться в виде первого байта буфера, на который указывает lpsUserUserInfo, и должно учитываться в dwSize.

dwSize

Размер сведений о пользователе в lpsUserUserInfo в байтах. Если параметр lpsUserUserInfo имеет значение NULL, вызывающей стороне не отправляются никакие сведения о пользователе, а dwSize игнорируется.

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

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

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

Комментарии

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

Вызов в состоянии onholdpending обычно возвращается в подключенное состояние. При удалении консультационного звонка к третьей стороне для конференц-связи или при удалении третьей стороны в ранее установленной конференции поставщик (и переключение) может освободить мост конференции и отменить изменения обратный звонок на обычный двухсторонние звонки. В этом случае hConfCall переходит в состояние простоя , а единственный оставшийся вызов переходит в подключенное состояние. Некоторые переключатели автоматически "отменяют" другой вызов.

Приложение может отправлять данные пользователя и пользователя во время удаления. Даже если можно отправить сведения о пользователе, нет никакой гарантии, что сеть доставляет эти сведения удаленной стороне.

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

Требования

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

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

Обзор удаления

Функции дополнительных линейных служб

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

Обзор завершения сеанса