функция lineGetRequestA (tapi.h)

Функция lineGetRequest извлекает следующий запрос по прокси-серверу для указанного режима запроса.

Синтаксис

LONG lineGetRequestA(
  HLINEAPP hLineApp,
  DWORD    dwRequestMode,
  LPVOID   lpRequestBuffer
);

Параметры

hLineApp

Дескриптор использования приложения для части строки TAPI.

dwRequestMode

Тип запроса, который требуется получить. Помните, что dwRequestMode может иметь только один битовый набор. Этот параметр использует только одну из LINEREQUESTMODE_ констант.

lpRequestBuffer

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

Если dwRequestMode LINEREQUESTMODE_MAKECALL, интерпретируйте содержимое буфера запроса с помощью структуры LINEREQMAKECALL.

LINEREQUESTMODE_MEDIACALL устарел. Дополнительные сведения см. в разделе tapiRequestMediaCall.

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

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

LINEERR_INVALAPPHANDLE, LINEERR_NOTREGISTERED, LINEERR_INVALPOINTER, LINEERR_OPERATIONFAILED, LINEERR_INVALREQUESTMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZEDLINEERR_NOREQUEST.

Замечания

Приложение с поддержкой телефонии может запросить, чтобы звонок был помещен от его имени путем вызова tapiRequestMakeCall. Эти запросы помещаются в очередь TAPI и приложение с наивысшим приоритетом, зарегистрированным для обработки запроса, отправляется сообщение LINE_REQUEST с указанием режима ожидающего запроса. Как правило, это приложение управления вызовами пользователя. Сообщение LINE_REQUEST указывает, что для обработки зарегистрированного приложения может потребоваться нулевая или более запросов; После получения LINE_REQUEST приложение-получатель несет ответственность за вызов lineGetRequest до тех пор, пока не будет возвращено LINEERR_NOREQUEST, указывающее, что больше запросов не ожидается.

Затем приложение управления вызовами, которое получает это сообщение, вызывает lineGetRequest, указывая режим запроса и буфер, который достаточно велик для хранения запроса. Затем приложение управления вызовами интерпретирует и выполняет запрос.

После выполнения lineGetRequest, TAPI очищает запрос из внутренней очереди, что делает место доступным для последующего запроса. Таким образом, при выполнении lineGetRequestможет быть получено новое сообщение LINE_REQUEST, если другое приложение выдает другой запрос. Это ответственность за приложение получателя запроса для обработки этого сценария с помощью определенного механизма; Например, отметив дополнительные LINE_REQUEST и отложив последующий lineGetRequest, пока обработка предыдущего запроса не завершится, получив последующий запрос и буфер по мере необходимости, или другим соответствующим средством.

Последующий LINE_REQUEST не следует игнорировать, так как он не повторяется TAPI.

Заметка

Заголовок tapi.h определяет lineGetRequest как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка tapi.h
библиотеки Tapi32.lib
DLL Tapi32.dll

См. также

Справочник по службам базовой телефонии

LINEREQMAKECALL

LINE_REQUEST

Обзор TAPI 2.2

tapiRequestMakeCall