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