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


Структура LINEADDRESSCAPS (tapi.h)

Структура LINEADDRESSCAPS описывает возможности указанного адреса. Функция lineGetAddressCaps и функция TSPI_lineGetAddressCaps возвращают структуру LINEADDRESSCAPS .

Синтаксис

typedef struct lineaddresscaps_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  DWORD dwLineDeviceID;
  DWORD dwAddressSize;
  DWORD dwAddressOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset;
  DWORD dwAddressSharing;
  DWORD dwAddressStates;
  DWORD dwCallInfoStates;
  DWORD dwCallerIDFlags;
  DWORD dwCalledIDFlags;
  DWORD dwConnectedIDFlags;
  DWORD dwRedirectionIDFlags;
  DWORD dwRedirectingIDFlags;
  DWORD dwCallStates;
  DWORD dwDialToneModes;
  DWORD dwBusyModes;
  DWORD dwSpecialInfo;
  DWORD dwDisconnectModes;
  DWORD dwMaxNumActiveCalls;
  DWORD dwMaxNumOnHoldCalls;
  DWORD dwMaxNumOnHoldPendingCalls;
  DWORD dwMaxNumConference;
  DWORD dwMaxNumTransConf;
  DWORD dwAddrCapFlags;
  DWORD dwCallFeatures;
  DWORD dwRemoveFromConfCaps;
  DWORD dwRemoveFromConfState;
  DWORD dwTransferModes;
  DWORD dwParkModes;
  DWORD dwForwardModes;
  DWORD dwMaxForwardEntries;
  DWORD dwMaxSpecificEntries;
  DWORD dwMinFwdNumRings;
  DWORD dwMaxFwdNumRings;
  DWORD dwMaxCallCompletions;
  DWORD dwCallCompletionConds;
  DWORD dwCallCompletionModes;
  DWORD dwNumCompletionMessages;
  DWORD dwCompletionMsgTextEntrySize;
  DWORD dwCompletionMsgTextSize;
  DWORD dwCompletionMsgTextOffset;
  DWORD dwAddressFeatures;
  DWORD dwPredictiveAutoTransferStates;
  DWORD dwNumCallTreatments;
  DWORD dwCallTreatmentListSize;
  DWORD dwCallTreatmentListOffset;
  DWORD dwDeviceClassesSize;
  DWORD dwDeviceClassesOffset;
  DWORD dwMaxCallDataSize;
  DWORD dwCallFeatures2;
  DWORD dwMaxNoAnswerTimeout;
  DWORD dwConnectedModes;
  DWORD dwOfferingModes;
  DWORD dwAvailableMediaModes;
} LINEADDRESSCAPS, *LPLINEADDRESSCAPS;

Члены

dwTotalSize

Общий размер, выделенный для этой структуры данных, в байтах.

dwNeededSize

Размер этой структуры данных, необходимый для хранения всей возвращаемой информации, в байтах.

dwUsedSize

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

dwLineDeviceID

Идентификатор устройства линии, с которым связан этот адрес.

dwAddressSize

Размер поля адреса в байтах.

dwAddressOffset

Смещение от начала структуры до поля адреса изменяющегося размера. Размер поля определяется параметром dwAddressSize.

dwDevSpecificSize

Размер поля для конкретного устройства в байтах.

dwDevSpecificOffset

Смещение от начала структуры к полю устройства изменяющегося размера. Размер поля определяется dwDevSpecificSize.

dwAddressSharing

Режим предоставления общего доступа к адресу. Этот элемент может быть одной из констант LINEADDRESSSHARING_.

dwAddressStates

Изменение состояний адресов, о которых приложение может получать уведомления в сообщении LINE_ADDRESSSTATE. Этот элемент использует одну или несколько констант LINEADDRESSSTATE_.

dwCallInfoStates

Элементы сведений о вызовах, значимые для всех вызовов по этому адресу. Приложение может получать уведомления об изменениях в некоторых из этих состояний в LINE_CALLINFO сообщениях. Этот элемент использует одну или несколько констант LINECALLINFOSTATE_.

dwCallerIDFlags

Типы сведений об идентификаторах сторон, которые могут быть предоставлены для вызовов по этому адресу. Вызывающий объект является инициатором сеанса. Одна или несколько констант LINECALLPARTYID_.

dwCalledIDFlags

Типы сведений об идентификаторах сторон, которые могут быть предоставлены для вызовов по этому адресу. Здесь "называется" относится к исходному назначению. Одна или несколько констант LINECALLPARTYID_.

dwConnectedIDFlags

Типы сведений об идентификаторах сторон, которые могут быть предоставлены для вызовов по этому адресу. Одна или несколько констант LINECALLPARTYID_.

dwRedirectionIDFlags

Типы сведений об идентификаторах сторон, которые могут быть предоставлены для вызовов по этому адресу. Здесь "перенаправление" является новым назначением. Одна или несколько констант LINECALLPARTYID_.

dwRedirectingIDFlags

Типы сведений об идентификаторах сторон, которые могут быть предоставлены для вызовов по этому адресу. Здесь "перенаправление" — это адрес, который вызвал перенаправление. Одна или несколько констант LINECALLPARTYID_.

dwCallStates

Состояния вызовов, которые можно сообщить для звонков по этому адресу. Этот элемент использует одну или несколько констант LINECALLSTATE_.

dwDialToneModes

Режимы звонка, которые можно сообщить для звонков, выполненных по этому адресу. Этот элемент имеет смысл только в том случае, если можно сообщить о состоянии вызова dialtone . Этот элемент использует одну или несколько констант LINEDIALTONEMODE_.

dwBusyModes

Режимы занятости, которые можно сообщить для вызовов, выполненных по этому адресу. Этот элемент имеет смысл только в том случае, если можно сообщить о состоянии занятого звонка. Этот элемент использует одну или несколько констант LINEBUSYMODE_.

dwSpecialInfo

Специальные типы сведений, которые могут быть переданы для вызовов, выполненных по этому адресу. Этот элемент имеет смысл только в том случае, если можно сообщить о состоянии вызова specialInfo . Этот элемент использует одну или несколько констант LINESPECIALINFO_.

dwDisconnectModes

Режимы отключения, которые можно сообщить для вызовов, выполненных по этому адресу. Этот элемент имеет смысл только в том случае, если можно сообщить о состоянии отключенного вызова. Этот элемент использует одну или несколько констант LINEDISCONNECTMODE_.

dwMaxNumActiveCalls

Максимальное количество активных вызовов, которые может обрабатывать адрес. Этот номер не включает вызовы на удержание или вызовы на удержание, ожидающие передачи или конференции.

dwMaxNumOnHoldCalls

Максимальное количество вызовов по адресу, который может находиться на удержании.

dwMaxNumOnHoldPendingCalls

Максимальное количество вызовов по адресу, которое может находиться на удержании в ожидании передачи или конференции.

dwMaxNumConference

Максимальное количество сторон, которые могут присоединиться к одной конференции по этому адресу.

dwMaxNumTransConf

Количество сторон (включая "self"), которые можно добавить в конференции, которая инициируется в качестве универсального консультационного звонка с помощью lineSetupTransfer.

dwAddrCapFlags

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

dwCallFeatures

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

dwRemoveFromConfCaps

Возможности адреса для удаления звонков из конференции. Этот элемент использует одну из констант LINEREMOVEFROMCONF_.

dwRemoveFromConfState

Использует константы LINECALLSTATE_ для указания состояния звонка после его удаления из конференции.

dwTransferModes

Возможности адреса для разрешения запросов на передачу. Этот элемент использует одну из констант LINETRANSFERMODE_.

dwParkModes

По этому адресу доступны различные режимы парковки вызовов. Этот элемент использует одну из констант LINEPARKMODE_.

dwForwardModes

Для этого адреса доступны различные режимы переадресации. Этот элемент использует константы LINEFORWARDMODE_.

dwMaxForwardEntries

Максимальное количество записей, которые можно передать в lineForward в параметре lpForwardList .

dwMaxSpecificEntries

Максимальное количество записей в параметре lpForwardList , передаваемых в lineForward , которые могут содержать инструкции переадресации на основе определенного идентификатора вызывающего объекта (выборочная переадресация вызовов). Этот элемент равен нулю, если выборочная переадресация вызовов не поддерживается.

dwMinFwdNumRings

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

dwMaxFwdNumRings

Максимальное количество колец, которое можно задать, чтобы определить, когда вызов официально считается "без ответа". Если это число колец невозможно задать, то dwMinFwdNumRings и dwMaxNumRings равны.

dwMaxCallCompletions

Максимальное количество одновременных запросов на завершение звонка, которые могут быть невыполненными на этом устройстве линии. Ноль означает, что завершение вызова недоступно.

dwCallCompletionConds

Различные условия вызова, при которых можно запросить завершение вызова. Этот элемент использует одну или несколько констант LINECALLCOMPLCOND_.

dwCallCompletionModes

Способ выполнения вызова. Этот элемент использует одну из констант LINECALLCOMPLMODE_.

dwNumCompletionMessages

Количество сообщений о завершении вызова, из которых можно выбрать при использовании параметра LINECALLCOMPLMODE_MESSAGE. Отдельные сообщения идентифицируются по значениям в диапазоне от нуля до одного меньше , чем dwNumCompletionMessages.

dwCompletionMsgTextEntrySize

Размер каждого описания текста завершения вызова, заданного dwCompletionMsgTextSize и dwCompletionMsgTextOffset, в байтах.

dwCompletionMsgTextSize

Размер текста завершения вызова в байтах.

dwCompletionMsgTextOffset

Смещение от начала этой структуры данных до поля изменяющегося размера, содержащего описательный текст о каждом из сообщений о завершении вызова. Каждое сообщение имеет длину dwCompletionMsgTextEntrySize в байтах. Строковый формат этих текстовых описаний обозначается dwStringFormat в возможностях устройства строки. Размер поля определяется dwCompletionMsgTextSize.

dwAddressFeatures

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

dwPredictiveAutoTransferStates

Состояние вызова или состояния, в которых можно настроить звонок, выполненный прогнозным абонентом, для автоматической передачи звонка на другой адрес; одна или несколько констант LINECALLSTATE_. Значение 0 указывает, что автоматическая передача на основе состояния вызова недоступна.

dwNumCallTreatments

Количество записей в массиве структур LINECALLTREATMENTENTRY , разделенных dwCallTreatmentListSize и dwCallTreatmentListOffset.

dwCallTreatmentListSize

Размер массива обработки вызовов в байтах.

dwCallTreatmentListOffset

Смещение от начала структуры до массива структур LINECALLTREATMENTENTRY , которые определяют обработки вызовов, поддерживаемые адресом (которые можно выбрать с помощью lineSetCallTreatment). Значением является dwNumCallTreatments times SIZEOF(LINECALLTREATMENTENTRY). Размер поля определяется параметром dwCallTreatmentListSize.

dwDeviceClassesSize

Размер списка поддерживаемых классов устройств в байтах.

dwDeviceClassesOffset

Смещение от начала структуры к строке, состоящей из идентификаторов классов устройств, поддерживаемых по этому адресу для использования с lineGetID. Элементы разделяются символами NULL , а за последним идентификатором класса следуют два символа NULL . Размер поля определяется dwDeviceClassesSize.

dwMaxCallDataSize

Максимальное число байтов, которое приложение может задать в LINECALLINFO с помощью lineSetCallData.

dwCallFeatures2

Дополнительные возможности или функции переключения, доступные для всех вызовов по этому адресу с помощью констант LINECALLFEATURE2_. Это расширение члена dwCallFeatures .

dwMaxNoAnswerTimeout

Максимальное значение в секундах, которое можно задать в элементе dwNoAnswerTimeout в LINECALLPARAMS при выполнении вызова. Значение 0 указывает, что автоматический отказ от вызовов без ответа не поддерживается поставщиком услуг или что значение времени ожидания не регулируется приложениями.

dwConnectedModes

LINECONNECTEDMODE_ значения, которые могут отображаться в элементе dwCallStateModeLINECALLSTATUS и в сообщениях LINE_CALLSTATE для вызовов по этому адресу.

dwOfferingModes

LINEOFFERINGMODE_ значения, которые могут отображаться в элементе dwCallStateModelineCALLSTATUS и в LINE_CALLSTATE сообщениях для вызовов по этому адресу.

dwAvailableMediaModes

Типы мультимедиа (режимы), которые можно вызывать для новых вызовов, созданных по этому адресу, когда член dwAddressFeatures указывает, что новые вызовы возможны. Если этот элемент равен нулю, это означает, что поставщик услуг либо не знает, либо не может указать, какие типы мультимедиа доступны. В этом случае любой или все типы мультимедиа, указанные в элементе dwMediaModes в LINEDEVCAPS , могут быть доступны.

Комментарии

Расширения, относящиеся к устройству, должны использовать область DevSpecific (dwDevSpecificSize и dwDevSpecificOffset) с разными размерами этой структуры данных.

Старые приложения компилируются без этого элемента в структуре LINEADDRESSCAPS и используют sizeOF(LINEADDRESSCAPS) меньше нового размера. Приложение передает параметр dwAPIVersion с функцией lineGetAddressCaps, которая может использоваться для указания TAPI при обработке этой ситуации. Если приложение передает член dwTotalSize меньше размера фиксированной части структуры, как определено в указанном элементе dwAPIVersion , возвращается LINEERR_STRUCTURETOOSMALL. Если приложение выделило достаточно памяти, перед вызовом TSPI_lineGetAddressCaps TAPI устанавливает для членов dwNeedededSize и dwUsedSize фиксированный размер структуры в том виде, в котором она существовала в указанной версии API.

Новые поставщики служб (которые поддерживают новую версию API) должны проверять переданную версию API. Если версия API меньше самой высокой версии, поддерживаемой поставщиком, поставщик услуг не должен заполнять поля, не поддерживаемые в более ранних версиях API, так как они будут находиться в переменной части старой структуры.

Новые приложения должны учитывать согласованную версию API, а не проверять содержимое полей в фиксированной части за пределами исходной части фиксированной части структуры для согласованной версии API.

Члены dwPredictiveAutoTransferStates через dwAvailableMediaModes доступны только для приложений, которые запрашивают API версии 2.0 или более поздней при вызове lineGetAddressCaps.

Требования

   
Верхняя часть tapi.h

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

LINEADDRESSSTATUS

LINECALLINFO

LINECALLPARAMS

LINECALLSTATUS

LINECALLTREATMENTENTRY

LINEDEVCAPS

LINEDIALPARAMS

LINE_ADDRESSSTATE

LINE_CALLINFO

LINE_CALLSTATE

LINE_LINEDEVSTATE

TSPI_lineGetAddressCaps

lineCompleteCall

lineForward

lineGenerateDigits

lineGetAddressCaps

lineGetID

lineSetCallData

lineSetCallTreatment