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


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

Структура PHONECAPS описывает возможности телефонного устройства. Функции phoneGetDevCaps и TSPI_phoneGetDevCaps возвращают эту структуру.

Синтаксис

typedef struct phonecaps_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  DWORD dwProviderInfoSize;
  DWORD dwProviderInfoOffset;
  DWORD dwPhoneInfoSize;
  DWORD dwPhoneInfoOffset;
  DWORD dwPermanentPhoneID;
  DWORD dwPhoneNameSize;
  DWORD dwPhoneNameOffset;
  DWORD dwStringFormat;
  DWORD dwPhoneStates;
  DWORD dwHookSwitchDevs;
  DWORD dwHandsetHookSwitchModes;
  DWORD dwSpeakerHookSwitchModes;
  DWORD dwHeadsetHookSwitchModes;
  DWORD dwVolumeFlags;
  DWORD dwGainFlags;
  DWORD dwDisplayNumRows;
  DWORD dwDisplayNumColumns;
  DWORD dwNumRingModes;
  DWORD dwNumButtonLamps;
  DWORD dwButtonModesSize;
  DWORD dwButtonModesOffset;
  DWORD dwButtonFunctionsSize;
  DWORD dwButtonFunctionsOffset;
  DWORD dwLampModesSize;
  DWORD dwLampModesOffset;
  DWORD dwNumSetData;
  DWORD dwSetDataSize;
  DWORD dwSetDataOffset;
  DWORD dwNumGetData;
  DWORD dwGetDataSize;
  DWORD dwGetDataOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset;
  DWORD dwDeviceClassesSize;
  DWORD dwDeviceClassesOffset;
  DWORD dwPhoneFeatures;
  DWORD dwSettableHandsetHookSwitchModes;
  DWORD dwSettableSpeakerHookSwitchModes;
  DWORD dwSettableHeadsetHookSwitchModes;
  DWORD dwMonitoredHandsetHookSwitchModes;
  DWORD dwMonitoredSpeakerHookSwitchModes;
  DWORD dwMonitoredHeadsetHookSwitchModes;
  GUID  PermanentPhoneGuid;
} PHONECAPS, *LPPHONECAPS;

Члены

dwTotalSize

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

dwNeededSize

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

dwUsedSize

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

dwProviderInfoSize

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

dwProviderInfoOffset

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

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

dwPhoneInfoSize

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

dwPhoneInfoOffset

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

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

dwPermanentPhoneID

Постоянный идентификатор, по которому телефонное устройство известно в конфигурации системы.

dwPhoneNameSize

Размер настраиваемого имени телефона, включая признак конца null , в байтах.

dwPhoneNameOffset

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

dwStringFormat

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

dwPhoneStates

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

dwHookSwitchDevs

Устройства-перехватчики телефона. Этот элемент использует одну из констант PHONEHOOKSWITCHDEV_.

dwHandsetHookSwitchModes

Режим перехватчика телефона. Элемент имеет смысл только в том случае, если устройство hookswitch указано в dwHookSwitchDevs. Он использует одну из констант PHONEHOOKSWITCHMODE_.

dwSpeakerHookSwitchModes

Режим перехватчика динамика. Элемент имеет смысл только в том случае, если устройство hookswitch указано в dwHookSwitchDevs. Он использует одну из констант PHONEHOOKSWITCHMODE_.

dwHeadsetHookSwitchModes

Режим перехватчика гарнитуры. Элемент имеет смысл только в том случае, если устройство hookswitch указано в dwHookSwitchDevs. Он использует одну из констант PHONEHOOKSWITCHMODE_.

dwVolumeFlags

Возможности настройки громкости компонентов динамиков телефонного устройства. Если бит в положении PHONEHOOKSWITCHDEV_ имеет значение TRUE, громкость соответствующего компонента динамиков устройства-перехватчика можно настроить с помощью phoneSetVolume.

dwGainFlags

Возможности настройки возможностей микрофонных компонентов телефонного устройства. Если битовое положение PHONEHOOKSWITCHDEV_ имеет значение TRUE, громкость микрофонного компонента соответствующего устройства-перехватчика можно настроить с помощью phoneSetGain.

dwDisplayNumRows

Отображение возможностей телефонного устройства путем описания количества строк на дисплее телефона. Члены dwDisplayNumRows и dwDisplayNumColumns равны нулю для телефонного устройства без дисплея.

dwDisplayNumColumns

Возможности отображения телефонного устройства путем описания количества столбцов на дисплее телефона. Члены dwDisplayNumRows и dwDisplayNumColumns равны нулю для телефонного устройства без дисплея.

dwNumRingModes

Возможности звонка телефонного устройства. Телефон может звонить с помощью dwNumRingModes различных шаблонов звонка, определенных как 1, 2, через dwNumRingModes минус один. Если значение этого элемента равно 0, приложения не могут контролировать режим звонка телефона. Если значение этого элемента больше 0, оно указывает количество кольцевых режимов в дополнение к режиму тишины, поддерживаемое поставщиком услуг. Значение 0 в параметре lpdwRingModephoneGetRing или параметре dwRingModephoneSetRing указывает на тишину (телефон не звонит или не должен выполняться), а значения dwRingMode от 1 до dwNumRingModes являются допустимыми режимами звонка для телефонного устройства.

dwNumButtonLamps

Количество кнопок или ламп на телефонном устройстве, которые можно обнаружить в TAPI. Кнопки и лампы идентифицируются по их идентификатору. Допустимые идентификаторы кнопки или лампы варьируются от нуля до dwNumButtonLamps минус единица. Кнопкам клавиатуры "0", "9", "*" и "#" назначаются идентификаторы от 0 до 12.

dwButtonModesSize

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

dwButtonModesOffset

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

dwButtonFunctionsSize

Размер поля функции кнопки в байтах.

dwButtonFunctionsOffset

Смещение от начала этой структуры до поля изменяющегося размера, содержащего функции кнопок телефона. Массив индексируется по идентификатору кнопки или лампы. В этом массиве используются константы PHONEBUTTONFUNCTION_. Размер массива определяется dwButtonFunctionsSize.

dwLampModesSize

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

dwLampModesOffset

Смещение от начала этой структуры до поля изменяющегося размера, содержащего режимы ламп телефонных ламп. Массив индексируется по идентификатору кнопки или лампы. В этом массиве используются константы PHONELAMPMODE_. Размер массива определяется dwLampModesSize.

dwNumSetData

Количество различных областей загрузки на телефонном устройстве. К различным областям относятся идентификаторы данных 0, 1, , dwNumSetData минус один. Если этот элемент равен нулю, телефон не поддерживает возможность скачивания.

dwSetDataSize

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

dwSetDataOffset

Смещение от начала этой структуры до поля изменяющегося размера, содержащего размеры (в байтах) областей загрузки телефона. Это массив с элементами размера DWORD, индексируемыми по идентификатору данных. Размер массива определяется dwSetDataSize.

dwNumGetData

Количество различных областей отправки на телефонном устройстве. Различные области называются с помощью идентификаторов данных 0, 1, , dwNumGetData минус один. Если это поле равно нулю, телефон не поддерживает возможность отправки.

dwGetDataSize

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

dwGetDataOffset

Смещение от начала этой структуры до поля изменяющегося размера, содержащего размеры (в байтах) областей передачи данных телефона. Это массив с элементами размера DWORD, индексируемыми по идентификатору данных. Размер массива определяется dwGetDataSize.

dwDevSpecificSize

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

dwDevSpecificOffset

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

dwDeviceClassesSize

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

dwDeviceClassesOffset

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

dwPhoneFeatures

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

dwSettableHandsetHookSwitchModes

PHONEHOOKSWITCHMODE_ значения, которые можно задать на телефоне с помощью phoneSetHookSwitch.

dwSettableSpeakerHookSwitchModes

PHONEHOOKSWITCHMODE_ значения, которые можно задать на громкой связи с помощью phoneSetHookSwitch.

dwSettableHeadsetHookSwitchModes

PHONEHOOKSWITCHMODE_ значения, которые можно задать на гарнитуре с помощью phoneSetHookSwitch.

dwMonitoredHandsetHookSwitchModes

PHONEHOOKSWITCHMODE_ значения, которые можно обнаружить и сообщить для телефона в PHONE_STATE сообщении и по телефонуGetHookSwitch.

dwMonitoredSpeakerHookSwitchModes

PHONEHOOKSWITCHMODE_ значения, которые можно обнаружить и сообщить для громкоговорителя в PHONE_STATE сообщении и с помощью phoneSetHookSwitch.

dwMonitoredHeadsetHookSwitchModes

PHONEHOOKSWITCHMODE_ значения, которые можно обнаружить и сообщить для гарнитуры в сообщении PHONE_STATE и с помощью phoneSetHookSwitch.

PermanentPhoneGuid

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

Комментарии

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

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

Требования

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

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

PHONE_BUTTON

PHONE_CLOSE

PHONE_STATE

TSPI_phoneGetDevCaps

phoneGetDevCaps

phoneGetHookSwitch

phoneGetRing

phoneSetGain

phoneSetHookSwitch

phoneSetRing

phoneSetVolume