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

Структура LINEDEVCAPS описывает возможности линейного устройства. Функция lineGetDevCaps и функция TSPI_lineGetDevCaps возвращают структуру LINEDEVCAPS .

Синтаксис

typedef struct linedevcaps_tag {
  DWORD          dwTotalSize;
  DWORD          dwNeededSize;
  DWORD          dwUsedSize;
  DWORD          dwProviderInfoSize;
  DWORD          dwProviderInfoOffset;
  DWORD          dwSwitchInfoSize;
  DWORD          dwSwitchInfoOffset;
  DWORD          dwPermanentLineID;
  DWORD          dwLineNameSize;
  DWORD          dwLineNameOffset;
  DWORD          dwStringFormat;
  DWORD          dwAddressModes;
  DWORD          dwNumAddresses;
  DWORD          dwBearerModes;
  DWORD          dwMaxRate;
  DWORD          dwMediaModes;
  DWORD          dwGenerateToneModes;
  DWORD          dwGenerateToneMaxNumFreq;
  DWORD          dwGenerateDigitModes;
  DWORD          dwMonitorToneMaxNumFreq;
  DWORD          dwMonitorToneMaxNumEntries;
  DWORD          dwMonitorDigitModes;
  DWORD          dwGatherDigitsMinTimeout;
  DWORD          dwGatherDigitsMaxTimeout;
  DWORD          dwMedCtlDigitMaxListSize;
  DWORD          dwMedCtlMediaMaxListSize;
  DWORD          dwMedCtlToneMaxListSize;
  DWORD          dwMedCtlCallStateMaxListSize;
  DWORD          dwDevCapFlags;
  DWORD          dwMaxNumActiveCalls;
  DWORD          dwAnswerMode;
  DWORD          dwRingModes;
  DWORD          dwLineStates;
  DWORD          dwUUIAcceptSize;
  DWORD          dwUUIAnswerSize;
  DWORD          dwUUIMakeCallSize;
  DWORD          dwUUIDropSize;
  DWORD          dwUUISendUserUserInfoSize;
  DWORD          dwUUICallInfoSize;
  LINEDIALPARAMS MinDialParams;
  LINEDIALPARAMS MaxDialParams;
  LINEDIALPARAMS DefaultDialParams;
  DWORD          dwNumTerminals;
  DWORD          dwTerminalCapsSize;
  DWORD          dwTerminalCapsOffset;
  DWORD          dwTerminalTextEntrySize;
  DWORD          dwTerminalTextSize;
  DWORD          dwTerminalTextOffset;
  DWORD          dwDevSpecificSize;
  DWORD          dwDevSpecificOffset;
  DWORD          dwLineFeatures;
  DWORD          dwSettableDevStatus;
  DWORD          dwDeviceClassesSize;
  DWORD          dwDeviceClassesOffset;
  GUID           PermanentLineGuid;
  DWORD          dwAddressTypes;
  GUID           ProtocolGuid;
  DWORD          dwAvailableTracking;
} LINEDEVCAPS, *LPLINEDEVCAPS;

Члены

dwTotalSize

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

dwNeededSize

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

dwUsedSize

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

dwProviderInfoSize

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

dwProviderInfoOffset

Смещение от начала структуры к сведениям о поставщике услуг в байтах.

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

dwSwitchInfoSize

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

dwSwitchInfoOffset

Смещение от начала структуры к сведениям о коммутаторе в байтах.

Члены dwSwitchInfoSize и dwSwitchInfoOffset предназначены для предоставления сведений о коммутаторе, к которому подключено устройство линии, например изготовителя коммутатора, имени модели, версии программного обеспечения и т. д. Эти сведения могут быть полезны, если пользователю необходимо вызвать службу поддержки клиентов с проблемами, связанными с коммутатором.

dwPermanentLineID

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

dwLineNameSize

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

dwLineNameOffset

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

dwStringFormat

Формат строки, используемый с этим устройством линии. Этот элемент использует одну из констант STRINGFORMAT_.

dwAddressModes

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

dwNumAddresses

Число адресов, связанных с этим устройством линии. На отдельные адреса ссылаются идентификаторы адресов. Диапазон идентификаторов адресов — от нуля до одного меньше значения, указанного dwNumAddresses.

dwBearerModes

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

dwMaxRate

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

dwMediaModes

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

dwGenerateToneModes

Тоны, которые могут быть созданы в этой строке. Этот элемент использует одну или несколько констант LINETONEMODE_.

dwGenerateToneMaxNumFreq

Максимальное количество частот, которое можно указать при описании общего тона с помощью структуры данных LINEGENERATETONE при создании тона с помощью lineGenerateTone. Значение 0 указывает, что создание тона недоступно.

dwGenerateDigitModes

Режимы цифр, которые могут быть созданы в этой строке. Этот элемент использует одну или несколько констант LINEDIGITMODE_.

dwMonitorToneMaxNumFreq

Максимальное количество частот, которое можно указать при описании общего тона с помощью структуры данных LINEMONITORTONE при мониторинге общего тона с помощью lineMonitorTones. Значение 0 указывает, что монитор тона недоступен.

dwMonitorToneMaxNumEntries

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

dwMonitorDigitModes

Режимы цифр, которые можно определить в этой строке. Этот элемент использует одну или несколько констант LINEDIGITMODE_.

dwGatherDigitsMinTimeout

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

dwGatherDigitsMaxTimeout

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

dwMedCtlDigitMaxListSize

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

dwMedCtlMediaMaxListSize

Максимальное количество записей, которое можно указать в параметре списка носителей объекта lineSetMediaControl.

dwMedCtlToneMaxListSize

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

dwMedCtlCallStateMaxListSize

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

dwDevCapFlags

Возможности логического устройства. Этот элемент использует одну или несколько констант LINEDEVCAPFLAGS_.

dwMaxNumActiveCalls

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

dwAnswerMode

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

dwRingModes

Количество различных режимов кругов, которые можно сообщить в сообщении LINE_LINEDEVSTATE с указанием звонка . Различные режимы кругов варьируются от одного до dwRingModes. Ноль означает отсутствие кольца.

dwLineStates

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

dwUUIAcceptSize

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

dwUUIAnswerSize

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

dwUUIMakeCallSize

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

dwUUIDropSize

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

dwUUISendUserUserInfoSize

Максимальный размер сведений о пользователе, включая признак конца NULL , которые могут быть отправлены отдельно в любое время во время вызова с помощью lineSendUserUserInfo.

dwUUICallInfoSize

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

MinDialParams

Минимальное значение для параметров набора номера, которые можно задать для вызовов в этой строке, в миллисекундах. Для параметров набора номера можно задать значения в диапазоне MinDialParams в значение MaxDialParams. Степень детализации фактических параметров зависит от поставщика услуг.

MaxDialParams

Максимальное значение для параметров набора, которые можно задать для вызовов в этой строке, в миллисекундах. Для параметров набора номера можно задать значения в диапазоне MinDialParams в значение MaxDialParams. Степень детализации фактических параметров зависит от поставщика услуг.

DefaultDialParams

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

dwNumTerminals

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

dwTerminalCapsSize

Размер поля устройства изменяющегося размера, содержащего массив с записями типа LINETERMCAPS, в байтах.

dwTerminalCapsOffset

Смещение от начала этой структуры до поля устройства изменяющегося размера, содержащего массив с записями типа LINETERMCAPS. Этот массив индексируется по идентификаторам терминалов в диапазоне от нуля до dwNumTerminals минус один. Каждая запись в массиве указывает возможности устройства терминала соответствующего терминала. Размер поля определяется dwTerminalCapsSize.

dwTerminalTextEntrySize

Размер каждого описания текста терминала, включая признак конца null , на который указывают dwTerminalTextSize и dwTerminalTextOffset, в байтах.

dwTerminalTextSize

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

dwTerminalTextOffset

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

dwDevSpecificSize

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

dwDevSpecificOffset

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

dwLineFeatures

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

dwSettableDevStatus

ЗНАЧЕНИЯ LINEDEVSTATUSFLAGS , которые можно изменить с помощью lineSetLineDevStatus.

dwDeviceClassesSize

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

dwDeviceClassesOffset

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

PermanentLineGuid

ИДЕНТИФИКАТОР GUID, постоянно связанный с устройством линии.

dwAddressTypes

Тип адреса , используемый для вызова. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI — 3.0 или более поздняя.

ProtocolGuid

Текущий протокол TAPI. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI — 3.0 или более поздняя. Протоколы объявляются в файле tapi3.h.

dwAvailableTracking

Доступное отслеживание, представленное LINECALLHUBTRACKING.constant. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI — 3.0 или более поздняя.

Комментарии

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

Старые приложения компилируются без новых элементов в структуре LINEDEVCAPS и используют SIZEOF LINEDEVCAPS меньше нового размера. Приложение передает параметр dwAPIVersion с функцией lineGetDevCaps , которая может использоваться для указания TAPI при обработке этой ситуации. Если приложение передает член dwTotalSize меньше размера фиксированной части структуры, определенной в указанной dwAPIVersion, возвращается LINEERR_STRUCTURETOOSMALL. Если приложение выделило достаточно памяти, перед вызовом TSPI_lineGetDevCaps TAPI устанавливает для членов dwNeedededSize и dwUsedSize фиксированный размер структуры в том виде, в котором она существовала в указанной версии API.

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

Если бит LINEBEARERMODE_DATA задан в элементе dwBearerModes , то элемент dwMaxRate указывает максимальную скорость цифровой передачи по каналу носителя. Элемент dwMaxRate структуры LINEDEVCAPS может содержать допустимые значения, даже если для элемента dwBearerModes структуры LINEDEVCAPS не задано значение LINEBEARERMODE_DATA.

Если LINEBEARERMODE_DATA не задано в dwBearerModes, но задано значение LINEBEARERMODE_VOICE и значение LINEMEDIAMODE_DATAMODEM задано в элементе dwMediaModes , то элемент dwMaxRate указывает максимальную скорость передачи данных SYNCHRONOUS (DCE) в телефонной линии для подключенного модема или функционального эквивалента. Например, если самая быстрая скорость модуляции модема составляет V.32bis со скоростью 14400 ббит/с, dwMaxRate равно 14400. Это не самая быстрая скорость портов DTE (скорее всего, 38400, 57600 или 115200), но самая быстрая скорость передачи, которую модем поддерживает на телефонной линии.

Приложение должно быть осторожным проверка, чтобы убедиться, что LINEBEARERMODE_DATA не задан, чтобы избежать неправильного толкования элемента dwMaxRate. Если задано значение LINEBEARERMODE_DATA, скорее всего, будет 64000 или выше.

Следует также отметить, что если модем не был специально идентифицирован (например, это "универсальный" модем), указанная цифра является "лучшей догадкой" на основе изучения модема.

Члены dwSettableDevStatus через dwDeviceClassesOffset доступны только для приложений, которые открывают устройство линии с TAPI версии 2.0 или более поздней.

Требования

Требование Значение
Заголовок tapi.h

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

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall