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


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

Функция TSPI_lineDial набирает указанный набираемый номер при указанном вызове.

Синтаксис

LONG TSPIAPI TSPI_lineDial(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall,
  LPCWSTR       lpszDestAddress,
  DWORD         dwCountryCode
);

Параметры

dwRequestID

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

hdCall

Дескриптор поставщика услуг для вызываемого вызова. Состояние вызова hdCall может быть любым, кроме состояния бездействия и отключения.

lpszDestAddress

Указатель на строку Юникода, завершающуюся значением NULL, которая указывает назначение для набора с использованием стандартного набираемого номера.

dwCountryCode

Код страны или региона назначения. Реализация использует его для выбора протоколов хода выполнения вызова для адреса назначения. Если указано значение 0, используется протокол выполнения вызова по умолчанию, определенный поставщиком услуг. TAPI не проверяет этот параметр при вызове этой функции.

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

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

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCOUNTRYCODE, LINEERR_DIALBILLING, LINEERR_INVALCALLSTATE, LINEERR_DIALQUIET, LINEERR_ADDRESSBLOCKED, LINEERR_DIALDIALTONE, LINEERR_NOMEM, LINEERR_DIALPROMPT LINEERR_OPERATIONUNAVAIL.

Комментарии

Поставщик услуг возвращает LINEERR_INVALCALLSTATE, если текущее состояние звонка не разрешает набор номера.

Поставщик услуг не выполняет набор номера, если он возвращает LINEERR_INVALADDRESS.

Если поставщик услуг возвращает LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE или LINEERR_DIALPROMPT, он не должен выполнять никакие действия, в противном случае выполняемые TSPI_lineDial (например, без частичного набора номера или отключения). Это связано с тем, что поставщик услуг должен предварительно проверить число на наличие неподдерживаемых символов.

TSPI_lineDial используется для набора при существующем внешнем виде звонка; например, дескрипторы вызовов, возвращаемые из TSPI_lineMakeCall со значением NULL в качестве lpszDestAddress или заканчивающиеся на ";", дескрипторы вызовов, возвращаемые из TSPI_lineSetupTransfer или TSPI_lineSetupConference. TSPI_lineDial можно вызывать несколько раз в процессе набора номера в случае многоэтапного набора, если это разрешено с помощью возможностей устройства линии.

Если строка, на которую указывает параметр lpszDestAddress в предыдущем вызове функции TSPI_lineMakeCall или TSPI_lineDial , завершается точкой с запятой, пустая строка в текущем вызове TSPI_lineDial указывает, что набор завершен.

В одной строке набора, разделенной CRLF, можно указать несколько адресов. Поставщики услуг, обеспечивающие обратное мультиплексирование, могут устанавливать отдельные физические вызовы с каждым из адресов и возвращать один дескриптор вызова в агрегат всех вызовов к приложению. Все адреса будут использовать один и тот же код страны или региона.

Набор номера считается завершенным после того, как адрес будет принят поставщиком услуг, а не после того, как звонок будет окончательно подключен. Поставщики услуг, обеспечивающие обратное мультиплексирование, могут разрешить одновременное предоставление нескольких адресов. Поставщик услуг должен отправлять LINE_CALLSTATE сообщения в TAPI, чтобы сообщить ему о ходе вызова.

Требования

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

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

ASYNC_COMPLETION

LINE_CALLSTATE

TSPI_lineMakeCall