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


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

Структура PHONEBUTTONINFO содержит сведения о кнопке на телефонном устройстве. Эта структура используется несколькими функциями TAPI и TSPI.

Синтаксис

typedef struct phonebuttoninfo_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  DWORD dwButtonMode;
  DWORD dwButtonFunction;
  DWORD dwButtonTextSize;
  DWORD dwButtonTextOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset;
  DWORD dwButtonState;
} PHONEBUTTONINFO, *LPPHONEBUTTONINFO;

Члены

dwTotalSize

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

dwNeededSize

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

dwUsedSize

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

dwButtonMode

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

dwButtonFunction

Функция, назначенная кнопке. Этот элемент использует одну из констант PHONEBUTTONFUNCTION_.

dwButtonTextSize

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

dwButtonTextOffset

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

dwDevSpecificSize

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

dwDevSpecificOffset

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

dwButtonState

Для функции phoneGetButtonInfo это поле указывает текущее состояние кнопки с помощью PHONEBUTTONSTATE_ констант. Это поле игнорируется функцией phoneSetButtonInfo .

Комментарии

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

Старые приложения компилируются без этого поля в структуре PHONEBUTTONINFO и используют размер SIZEOF PHONEBUTTONINFO меньше нового размера. Приложение передает параметр dwAPIVersion с функцией phoneOpen , которая может использоваться для указания TAPI при обработке этой ситуации. Если приложение передает dwTotalSize меньше размера фиксированной части структуры, как определено в указанной dwAPIVersion, возвращается PHONEERR_STRUCTURETOOSMALL. Если приложение выделило достаточно памяти, перед вызовом функции TSPI_phoneGetButtonInfo TAPI присваивает членам dwNeededSize и dwUsedSize фиксированный размер структуры, который существовал в указанной версии API.

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

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

Требования

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

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

TSPI_phoneGetButtonInfo

TSPI_phoneSetButtonInfo

phoneGetButtonInfo

phoneОткрыть

phoneSetButtonInfo