Функция lineAnswer (tapi.h)
Функция lineAnswer отвечает на указанный вызов предложения.
Синтаксис
LONG lineAnswer(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);
Параметры
hCall
Дескриптор вызова, на который нужно ответить. Приложение должно быть владельцем этого вызова. Состояние вызова hCall должно быть предложением или принятием.
lpsUserUserInfo
Указатель на строку, завершающуюся значением NULL, содержащую сведения о пользователе, отправляемые удаленной стороне во время ответа на вызов. Этот указатель можно оставить null , если не нужно отправлять сведения о пользователе. Сведения о пользователе отправляются, только если они поддерживаются базовой сетью (см. LINEDEVCAPS). Поле дискриминатора протокола для сведений о пользователе( при необходимости) должно отображаться в качестве первого байта буфера, на который указывает lpsUserUserInfo, и должно учитываться в dwSize.
dwSize
Размер сведений о пользователе в lpsUserUserInfo (включая признак конца NULL ) в байтах Если lpsUserUserInfo имеет значение NULL, то вызывающей стороне не отправляются никакие сведения о пользователе и dwSize игнорируются.
Возвращаемое значение
Возвращает положительный идентификатор запроса, если функция выполняется асинхронно, или отрицательный номер ошибки при возникновении ошибки. Параметр dwParam2 соответствующего сообщения LINE_REPLY равен нулю, если функция завершается успешно, или отрицательным номером ошибки при возникновении ошибки. Возможные возвращаемые значения:
LINEERR_INUSE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NOMEM, LINEERR_USERUSERINFOTOOBIG LINEERR_NOTOWNER.
Комментарии
При поступлении нового звонка приложениям, заинтересованным в вызове, отправляется LINE_CALLSTATE сообщение для предоставления нового дескриптора звонка и информирования приложения о состоянии звонка и привилегиях для нового вызова (например, монитор или владелец). Приложение с привилегией владельца для вызова может ответить на этот вызов с помощью lineAnswer. После успешного ответа на вызов вызов обычно переходит в подключенное состояние. Изначально только одному приложению предоставляется привилегия владельца для входящего вызова.
В некоторых средах телефонии (например, ISDN), где оповещения пользователей отделены от предложения звонков, приложение может принять звонок перед ответом, отклонить или перенаправить звонок предложения.
Если звонок поступает (предлагается) в момент, когда другой вызов уже активен, вызов lineAnswer подключается к новому вызову. Влияние этого на существующий активный вызов зависит от возможностей устройства линии. Первый вызов может быть не затронут, он может быть автоматически удален или автоматически помещен на удержание. Соответствующие LINE_CALLSTATE сообщения о переходе состояния в приложение об обоих вызовах.
В ситуации с мостом, если вызов подключен, но находится в состоянии LINECONNECTEDMODE_INACTIVE, его можно объединить с помощью функции lineAnswer .
Приложение может отправлять сведения о пользователе во время ответа. Даже если данные пользователя и пользователя могут быть отправлены, нет никакой гарантии, что сеть доставляет эти сведения вызывающей стороне. Приложение должно ознакомиться с возможностями устройства линии, чтобы определить, доступна ли отправка сведений о пользователе при ответе на звонок.
Требования
Целевая платформа | Windows |
Header | tapi.h |
Библиотека | Tapi32.lib |
DLL | Tapi32.dll |