Структура 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 |