Функция 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 |