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


функция TSPI_linePrepareAddToConference (tspi.h)

Функция TSPI_linePrepareAddToConference подготавливает существующий конференц-звонок для добавления другой стороны. Это создает новый, временный звонок на консультацию. Впоследствии к конференции можно добавить новый консультативный звонок.

Синтаксис

LONG TSPIAPI TSPI_linePrepareAddToConference(
  DRV_REQUESTID          dwRequestID,
  HDRVCALL               hdConfCall,
  HTAPICALL              htConsultCall,
  LPHDRVCALL             lphdConsultCall,
  LPLINECALLPARAMS const lpCallParams
);

Параметры

dwRequestID

Идентификатор асинхронного запроса.

hdConfCall

Дескриптор конференции. Состояние вызова hdConfCall может быть подключено.

htConsultCall

TAPI обрабатывает новый, временный звонок консультации. Поставщик услуг должен сохранить его и использовать во всех последующих вызовах процедуры LINEEVENT , сообщая о событиях при новом вызове. Состояние вызова hdAddCall неприменимо.

lphdConsultCall

Указатель на HDRVCALL , представляющий идентификатор поставщика услуг для нового временного вызова консультации. Поставщик услуг должен заполнить это расположение дескриптором для нового вызова перед возвратом этой процедуры. Этот дескриптор недопустим, если функция приводит к ошибке.

lpCallParams

Указатель на LINECALLPARAMS , содержащий параметры вызова, используемые при установлении вызова консультации. Если специальные параметры настройки вызова не требуются, этот параметр имеет значение NULL .

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

Возвращает dwRequestID или номер ошибки, если произошла ошибка. Фактический параметр lResult соответствующего ASYNC_COMPLETION равен нулю при успешном выполнении функции или номеру ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_CONFERENCEFULL, LINEERR_INVALRATE, LINEERR_INUSE, LINEERR_NOMEM, LINEERR_INVALADDRESSMODE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLPARAMS, LINEERR_RATEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCONFCALLHANDLE LINEERR_USERUSERINFOTOOBIG.

Комментарии

Поставщик услуг возвращает LINEERR_INVALLINESTATE, если строка в настоящее время не находится в состоянии, в котором может выполняться эта операция. Поставщик услуг должен указать список допустимых в настоящее время операций в элементе dwLineFeatures (типа LINEFEATURE) в структуре LINEDEVSTATUS .

Поставщик услуг возвращает LINEERR_INVALCALLSTATE, если конференц-звонок не находится в допустимом состоянии для запрошенной операции.

Эта функция помещает существующий конференц-звонок в состояние onHoldPendingConference и создает звонок для консультаций, который можно добавить позже к существующему конференц-вызову с TSPI_lineAddToConference.

Звонок на консультацию можно отменить с помощью TSPI_lineDrop. Возможно также, что ТАПИ может переключаться между консультацией и конференцией с TSPI_lineSwapHold. Поставщик услуг изначально выполняет мониторинг мультимедиа в новом вызове по крайней мере для набора типов мультимедиа, которые отслеживались в строке.

Эта функция отличается от соответствующей функции TAPI тем, что она следует модели TSPI для начала времени существования вызова. TAPI и поставщик услуг обмениваются непрозрачными дескрипторами, представляющими вызов друг с другом. Кроме того, поставщик услуг может выполнять обратные вызовы для нового вызова перед возвратом из этой процедуры. В любом случае поставщик услуг также должен рассматривать возвращенный дескриптор как "еще недействителен" до тех пор, пока соответствующий ASYNC_COMPLETION сообщения не сообщит об успешном выполнении . Другими словами, он не должен выдавать сообщения LINEEVENT для нового вызова или включать их в число вызовов в сообщениях или структурах данных состояния для строки.

Требования

Требование Значение
Целевая платформа Windows
Header tspi.h

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

ASYNC_COMPLETION

LINECALLPARAMS

LINEDEVSTATUS

LINEEVENT

LINE_CALLSTATE

TSPI_lineAddToConference

TSPI_lineDial

TSPI_lineDrop

TSPI_lineRemoveFromConference

TSPI_lineSetupConference

TSPI_lineSwapHold