Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция lineForward перенаправлять вызовы, предназначенные для указанного адреса в указанной строке, в соответствии с указанными инструкциями по пересылке. При переадресации исходного адреса (dwAddressID) указанные входящие вызовы этого адреса отклоняются на другое число коммутатором. Эта функция обеспечивает сочетание функций пересылки и не беспокоить. Эта функция также может отменять переадресацию в настоящее время.
Синтаксис
LONG lineForwardW(
HLINE hLine,
DWORD bAllAddresses,
DWORD dwAddressID,
LPLINEFORWARDLIST const lpForwardList,
DWORD dwNumRingsNoAnswer,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
Параметры
hLine
Дескриптор устройства строки.
bAllAddresses
Указывает, следует ли пересылать все исходные адреса в строке или только один указанный. Если TRUE, все адреса в строке перенаправляются и dwAddressID игнорируются; Если FALSE, пересылается только адрес, указанный как dwAddressID.
dwAddressID
Адрес в указанной строке, входящие вызовы которых необходимо перенаправить. Этот параметр игнорируется, если bAllAddressesTRUE.
Идентификатор адреса постоянно связан с адресом; Идентификатор остается постоянным в обновлениях операционной системы.
lpForwardList
Указатель на структуру данных с разными размерами, описывающую конкретные инструкции по пересылке, тип LINEFORWARDLIST.
dwNumRingsNoAnswer
Число кругов перед вызовом считается "без ответа". Если dwNumRingsNoAnswer выходит за пределы диапазона, фактическое значение имеет ближайшее значение в допустимом диапазоне.
lphConsultCall
Указатель на расположение HCALL. В некоторых средах телефонии это расположение загружается с дескриптором для вызова консультации, который используется для консультации с стороной, в которую пересылается, и приложение становится первоначальным владельцем этого звонка. Этот указатель должен быть допустимым даже в средах, где переадресация звонков не требует вызова консультации. Этот дескриптор имеет значение NULL, если не создан вызов консультации.
lpCallParams
Указатель на структуру типа LINECALLPARAMS. Этот указатель игнорируется, если lineForward требует создания вызова назначения пересылки (и lphConsultCall возвращается, в этом случае lpCallParams является необязательным). Если значение NULL, используются параметры вызова по умолчанию. В противном случае для установки hConsultCallиспользуются указанные параметры вызова.
Возвращаемое значение
Возвращает положительный идентификатор запроса, если функция завершена асинхронно, или отрицательный номер ошибки при возникновении ошибки. Параметр dwParam2 соответствующего сообщения LINE_REPLY равен нулю, если функция завершается успешно или является отрицательным номером ошибки при возникновении ошибки. Возможные возвращаемые значения:
LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESS, LINEERR_OPERATIONFAILED, LINEERR_INVALCOUNTRYCODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALPARAM, LINEERR_UNINITIALIZED.
Замечания
Успешное переадресация указывает только на то, что запрос был принят поставщиком услуг, а не настроен на переадресации на коммутаторе. Сообщение LINE_ADDRESSSTATE (пересылка) обеспечивает подтверждение переадресации, настроенной на коммутаторе.
Переадресация адресов остается в силе до тех пор, пока эта функция не будет вызвана еще раз. Последний список переадресации заменяет старый. Перенаправление можно отменить, указав указатель NULL как указатель lpForwardList. Если для записи в списке пересылки указан NULL целевой адрес, операция действует как не беспокоить.
Состояние пересылки адреса также может повлиять на внешний доступ; например, по административным действиям на коммутаторе или пользователем из другой станции. Возможно, поставщик услуг не может знать об этом изменении состояния, и он может не поддерживать синхронизацию с состоянием пересылки, известном коммутатору.
Так как поставщик услуг может не знать состояние пересылки адреса "наверняка" (т. е. это может быть переадресовано или непредназнано), lineForward успешно, если не удается задать новые инструкции пересылки. Другими словами, запрос на отмену всех переадресации во время успешного переадресации отсутствует. Это связано с тем, что нет "непреднаставленного", вы можете изменить только предыдущий набор инструкций пересылки.
Успешное выполнение или сбой этой операции не зависит от предыдущего набора инструкций пересылки, и то же самое верно при настройке различных инструкций пересылки. Перед настройкой новых инструкций по пересылке поставщик должен "непреднастроить все". Так как это может занять некоторое время в аналоговых средах телефонии, поставщик может также потребовать сравнения текущей пересылки с новым, и только выдачи инструкций для перехода к окончательному состоянию (оставляя неизменным переадресацию без изменений).
Вызов lineForward при LINEFORWARDLIST имеет значение dwNumEntries имеет то же действие, что и предоставление параметра NULLlpForwardList. Он отменяет все переадресации в настоящее время.
Заметка
Заголовок tapi.h определяет lineForward как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Виндоус |
| заголовка | tapi.h |
| библиотеки |
Tapi32.lib |
| DLL | Tapi32.dll |
См. также
Обзор пересылки
дополнительных функций службы
Обзор