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

Функция linePickup выбирает оповещение о вызове по указанному целевому адресу и возвращает дескриптор вызова для выбранного вызова. Если вызывается null для параметра lpszDestAddress, выполняется сбор группы. Если устройство требуется, lpszGroupID указывает идентификатор группы, к которому принадлежит станция оповещений.

Синтаксис

LONG linePickupA(
  HLINE   hLine,
  DWORD   dwAddressID,
  LPHCALL lphCall,
  LPCSTR  lpszDestAddress,
  LPCSTR  lpszGroupID
);

Параметры

hLine

Обработайте устройство открытой строки, на котором должен быть выбран вызов.

dwAddressID

Адрес hLine, в котором должна быть получена пикап. Идентификатор адреса постоянно связан с адресом; Идентификатор остается постоянным в обновлениях операционной системы.

lphCall

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

lpszDestAddress

Указатель на null-завершенный буфер символов, содержащий адрес, вызов которого требуется забрать. Адрес находится в стандартном формате абонентского адреса.

lpszGroupID

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

Параметр lpszGroupID можно указать с помощью указателя NULL для lpszDestAddress. Кроме того, lpszGroupID можно указать в дополнение к lpszDestAddress, если требуется устройством.

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

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

LINEERR_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.

Замечания

Когда звонок был успешно выбран, приложение уведомляется LINE_CALLSTATE сообщении об изменении состояния вызова. Структура LINECALLINFO предоставляет сведения о вызове, который был выбран. В нем перечислены причины вызова как . Эта структура доступна с помощью lineGetCallInfo.

Если LINEADDRCAPFLAGS_PICKUPCALLWAIT TRUE, linePickup можно использовать для получения звонка, для которого пользователь обнаружил сигнал ожидания звонка, но для которого поставщик не может выполнить обнаружение. Это дает пользователю механизм "ответить" на ожидающий вызов, даже если поставщик услуг не смог обнаружить сигнал ожидания звонка. Параметры указателя lpszDestAddress и lpszGroupID должны быть NULL для получения вызова ожидания звонка. Функция linePickup создает новый дескриптор вызова ожидания и передает его пользователю. Параметр dwAddressID чаще всего равен нулю (особенно в однострочных жилых случаях).

После linePickup используется для получения второго вызова, lineSwapHold можно использовать для переключения между ними. Функцию lineDrop можно использовать для удаления одного (и переключения на другой) и т. д. Если пользователь хочет удалить текущий звонок и забрать второй вызов, он должен вызвать lineDrop, когда он получает сигнал ожидания звонка, дождитесь второго вызова звонка, а затем вызовите lineAnswer на новый дескриптор вызова. Флаг LINEADDRFEATURE_PICKUP в dwAddressFeatures в LINEADDRESSSTATUS указывает, когда на самом деле это возможно.

Заметка

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

Требования

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

См. также

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

Обзор выбора

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

Обзор TAPI 2.2

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold