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


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

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

Справочник по базовым службам телефонии

LINEDEVCAPS

LINE_CALLSTATE

LINE_REPLY

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