PHONECAPS 结构 (tapi.h)

PHONECAPS 结构描述电话设备的功能。 phoneGetDevCapsTSPI_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

手机的挂钩开关模式。 只有在 dwHookSwitchDevs 中列出了 hookswitch 设备时,该成员才有意义。 它使用 PHONEHOOKSWITCHMODE_常量之一。

dwSpeakerHookSwitchModes

扬声器的挂钩开关模式。 只有在 dwHookSwitchDevs 中列出了 hookswitch 设备时,该成员才有意义。 它使用PHONEHOOKSWITCHMODE_常量之一。

dwHeadsetHookSwitchModes

头戴显示设备的挂钩开关模式。 只有在 dwHookSwitchDevs 中列出了 hookswitch 设备时,该成员才有意义。 它使用 PHONEHOOKSWITCHMODE_常量之一。

dwVolumeFlags

手机设备扬声器组件的音量设置功能。 如果位置位PHONEHOOKSWITCHDEV_为 TRUE,则可以使用 phoneSetVolume 调整相应挂钩开关设备的扬声器组件的音量。

dwGainFlags

电话设备麦克风组件的增益设置功能。 如果PHONEHOOKSWITCHDEV_位位置为 TRUE,则可以使用 phoneSetGain 调整相应挂钩开关设备的麦克风组件的音量。

dwDisplayNumRows

通过描述手机显示器中的行数来显示手机设备的显示功能。 对于没有显示器的手机设备, dwDisplayNumRowsdwDisplayNumColumns 成员均为零。

dwDisplayNumColumns

通过描述手机显示器中的列数来显示手机设备的显示功能。 对于没有显示器的手机设备, dwDisplayNumRowsdwDisplayNumColumns 成员均为零。

dwNumRingModes

电话设备的响铃功能。 手机能够使用 dwNumRingModes 拨打不同的铃声模式,通过 dwNumRingModes 减 1 标识为 1,2。 如果此成员的值为 0,则应用程序无法控制手机的响铃模式。 如果此成员的值大于 0,则除了服务提供程序支持的静音外,它还指示环形模式的数量。 phoneGetRing 的 lpdwRingMode 参数或 phoneSetRingdwRingMode 参数中的值 0 表示手机未响铃或不应) 运行 (,而 1 到 dwNumRingModes 的 dwRingMode 值是手机设备的有效响铃模式。

dwNumButtonLamps

在 TAPI 中可检测到的电话设备上按钮/灯的数量。 按钮/灯通过其标识符进行标识。 有效的按钮/灯标识符范围从零到 dwNumButtonLamps 减 1。 为键盘按钮“0”、“9”、“*”和“#”分配标识符 0 到 12。

dwButtonModesSize

按钮模式数组的大小(以字节为单位)。

dwButtonModesOffset

从此结构的开头偏移到包含手机按钮模式的可变大小字段。 数组按按钮/灯标识符编制索引。 此数组使用 PHONEBUTTONMODE_ 常量。 数组的大小由 dwButtonModesSize 指定。

dwButtonFunctionsSize

按钮函数字段的大小(以字节为单位)。

dwButtonFunctionsOffset

从此结构的开头偏移到包含手机按钮功能的可变大小字段。 数组按按钮/灯标识符编制索引。 此数组使用 常量PHONEBUTTONFUNCTION_。 数组的大小由 dwButtonFunctionsSize 指定。

dwLampModesSize

灯模式数组的大小(以字节为单位)。

dwLampModesOffset

从此结构的开头偏移到包含手机灯模式的可变大小字段。 数组按按钮/灯标识符编制索引。 此数组使用 PHONELAMPMODE_ 常量。 数组的大小由 dwLampModesSize 指定。

dwNumSetData

电话设备中不同下载区域的数目。 使用数据 ID 0、1、 、dwNumSetData 减 1 来引用不同的区域。 如果此成员为零,则手机不支持下载功能。

dwSetDataSize

数据大小数组的大小(以字节为单位)。

dwSetDataOffset

从此结构的开头偏移到包含大小 (以字节为单位的可变大小字段,) 手机的下载数据区域。 这是一个数组,其中包含按数据标识符编制索引的 DWORD 大小的元素。 数组的大小由 dwSetDataSize 指定。

dwNumGetData

电话设备中不同上传区域的数目。 使用数据 ID 0、1、 、dwNumGetData 减 1 来引用不同的区域。 如果此字段为零,则手机不支持上传功能。

dwGetDataSize

数据大小数组的大小(以字节为单位)。

dwGetDataOffset

从此结构的开头偏移到包含大小 (以字节为单位的可变大小字段,) 手机的上传数据区域。 这是一个数组,其中包含按数据标识符编制索引的 DWORD 大小的元素。 数组的大小由 dwGetDataSize 指定。

dwDevSpecificSize

设备特定字段的大小(以字节为单位)。 如果设备特定信息是指向字符串的指针,则大小必须包含 null 终止符。

dwDevSpecificOffset

从此结构的开头偏移到大小可变的设备特定字段。 字段的大小由 dwDevSpecificSize 指定。

dwDeviceClassesSize

支持的设备类标识符的大小(以字节为单位)。

dwDeviceClassesOffset

从此结构的开头偏移到包含此设备上支持用于 phoneGetID 的设备类标识符组成的字符串。 标识符以 NULL分隔,列表中的最后一个标识符后跟两个 NULLs。 字段的大小由 dwDeviceClassesSize 指定。

dwPhoneFeatures

指示可以在手机上调用哪些电话 API 函数的标志。 零表示未实现相应的功能,并且永远无法由手机上的应用程序调用;一个指示可以根据设备状态和其他因素调用该功能。 此成员使用 PHONEFEATURE_ 常量

dwSettableHandsetHookSwitchModes

PHONEHOOKSWITCHMODE_ 可以使用 phoneSetHookSwitch 在手机上设置的值。

dwSettableSpeakerHookSwitchModes

PHONEHOOKSWITCHMODE_可以使用 phoneSetHookSwitch 在免提电话上设置的值。

dwSettableHeadsetHookSwitchModes

PHONEHOOKSWITCHMODE_可以使用 phoneSetHookSwitch 在头戴显示设备上设置的值。

dwMonitoredHandsetHookSwitchModes

PHONEHOOKSWITCHMODE_可在 PHONE_STATE 消息和 phoneGetHookSwitch 中为手机检测和报告的值。

dwMonitoredSpeakerHookSwitchModes

PHONEHOOKSWITCHMODE_可在PHONE_STATE消息和 phoneSetHookSwitch 中为免提电话检测和报告的值。

dwMonitoredHeadsetHookSwitchModes

PHONEHOOKSWITCHMODE_ 可在PHONE_STATE消息和 phoneSetHookSwitch 中为头戴显示设备检测和报告的值。

PermanentPhoneGuid

与此手机永久关联的 GUID。

注解

特定于设备的扩展应使用 DevSpecific (dwDevSpecificSizedwDevSpecificOffset) 此数据结构的可变大小区域。

通过 dwMonitoredHeadsetHookSwitchModes 的成员 dwDeviceClassesSize 仅适用于使用 API 版本 2.0 或更高版本打开手机设备的应用程序。

要求

要求
Header tapi.h

另请参阅

PHONE_BUTTON

PHONE_CLOSE

PHONE_STATE

TSPI_phoneGetDevCaps

phoneGetDevCaps

phoneGetHookSwitch

phoneGetRing

phoneSetGain

phoneSetHookSwitch

phoneSetRing

phoneSetVolume