Функция lineGenerateDigits (tapi.h)

Функция lineGenerateDigits инициирует создание указанных цифр в указанном вызове в виде сигнальных сигналов в заданном режиме сигнализации. Вызов этой функции со значением NULL для lpszDigits прерывает любое текущее создание цифр. Вызов lineGenerateDigits или lineGenerateTone во время создания цифр прерывает создание текущей цифры или тона и инициирует создание последних указанных цифр или тона.

Синтаксис

LONG lineGenerateDigits(
  HCALL  hCall,
  DWORD  dwDigitMode,
  LPCSTR lpszDigits,
  DWORD  dwDuration
);

Параметры

hCall

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

dwDigitMode

Формат, используемый для обозначения этих цифр. Имейте в виду, что dwDigitMode может иметь только один набор флагов. Этот параметр использует одну из констант LINEDIGITMODE_.

lpszDigits

Указатель на буфер символов, заканчивающийся пустым значением, который содержит создаваемые цифры. Допустимые символы — это символы, указанные для констант LINEDIGITMODE_, предоставляемых в dwDigitModes.

Кроме того, запятая (,) также является допустимым символом. Запятая вызывает дополнительную задержку между сигналами предыдущей и следующей цифр, которые она разделяет. Длительность этой паузы определяется конфигурацией, а возможности линейного устройства указывают на эту длительность. Для вставки более длинных пауз можно использовать несколько запятых. Недопустимые цифры игнорируются во время создания, а не передаются как ошибки.

Восклицательный знак (!) является допустимым символом. Этот символ вызывает операцию hookflash, как описано для телефонных адресов.

dwDuration

Длительность цифр DTMF в миллисекундах и интервалы между цифрами DTMF и интервалы между цифрами DTMF. Значение 0 использует значение по умолчанию. Параметр dwDuration должен находиться в диапазоне, заданном MinDialParams и MaxDialParams в LINEDEVCAPS. Если диапазон выходит за пределы диапазона, фактическое значение присваивается ближайшему значению в диапазоне.

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

Возвращает ноль при успешном выполнении запроса или отрицательное число ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALDIGITMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALPOINTER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM LINEERR_UNINITIALIZED.

Комментарии

Функция lineGenerateDigits считается успешно завершенной при успешном запуске создания цифр, а не при создании всех цифр. В отличие от lineDial, который набирает цифры в зависимости от сети, lineGenerateDigits гарантирует, что цифры будут создаваться в виде полосных тонов по голосовому каналу с помощью DTMF или перехватчика импульсов набора при использовании импульса. Функция lineGenerateDigits обычно не подходит для совершения вызовов или набора номера. Он предназначен для сквозной сигнализации по установленному вызову.

После создания всех цифр в lpszDigits или после прерывания или отмены создания цифр в приложение отправляется LINE_GENERATE сообщение.

Для каждого вызова во всех приложениях, которые являются владельцами вызова, может выполняться только один запрос на создание по полосе (генерация сигналов или цифр). Создание цифр в вызове отменяется путем инициирования другого запроса на создание цифр или запроса на создание тона. Чтобы отменить создание текущей цифры, приложение может вызвать lineGenerateDigits и указать значение NULL для параметра lpszDigits .

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

Требования

Требование Значение
Целевая платформа Windows
Header tapi.h
Библиотека Tapi32.lib
DLL Tapi32.dll

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

LINEDEVCAPS

LINE_GENERATE

Функции дополнительных линейных служб

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

lineDial

lineGenerateTone