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

从结构的开头偏移到服务提供商信息(以字节为单位)。

dwProviderInfoSizedwProviderInfoOffset 成员旨在提供有关提供程序硬件和软件的信息,例如硬件和软件的供应商名称和版本号。 当用户需要与提供商相关的问题调用客户服务时,此信息非常有用。

dwSwitchInfoSize

包含开关信息的可变大小设备字段的大小(以字节为单位)。

dwSwitchInfoOffset

从结构的开头偏移到开关信息(以字节为单位)。

dwSwitchInfoSizedwSwitchInfoOffset 成员旨在提供有关连接线路设备的开关的信息,例如交换机制造商、型号名称、软件版本等。 当用户需要调用客户服务时,与交换机相关的问题时,此信息非常有用。

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

使用 lineMonitorTones 监视常规音调时,可以使用 LINEMONITORTONE 数据结构来描述常规语调时可以指定的最大频率数。 值为 0 表示音调监视器不可用。

dwMonitorToneMaxNumEntries

可在音调列表中指定到 lineMonitorTones 的最大条目数。

dwMonitorDigitModes

与在此行上检测到的数字模式相比。 此成员使用一个或多个 LINEDIGITMODE_常量

dwGatherDigitsMinTimeout

可以为 lineGatherDigits 使用的第一个数字和位数间超时值指定的最小值(以毫秒为单位)。 如果 dwGatherDigitsMinTimeoutdwGatherDigitsMaxTimeout 均为零,则不支持超时。

dwGatherDigitsMaxTimeout

可以为 lineGatherDigits 使用的第一个数字和位数间超时值指定的最大值(以毫秒为单位)。 如果 dwGatherDigitsMinTimeoutdwGatherDigitsMaxTimeout 均为零,则不支持超时。

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

使用 lineSendUserUserInfo 调用期间,用户信息的最大大小(包括 null 终止符)可以单独发送。

dwUUICallInfoSize

可在 LINECALLINFO 结构中接收的用户用户信息的最大大小(包括 null 终止符)。

MinDialParams

可在此行上为呼叫设置的拨号参数的最小值(以毫秒为单位)。 拨号参数可以设置为 MinDialParamsMaxDialParams 范围内的值。 实际设置的粒度特定于服务提供商。

MaxDialParams

可以为此行上的呼叫设置的拨号参数的最大值(以毫秒为单位)。 拨号参数可以设置为 MinDialParamsMaxDialParams 范围内的值。 实际设置的粒度特定于服务提供商。

DefaultDialParams

用于此线路上呼叫的默认拨号参数。 可以按调用重写这些参数值。

dwNumTerminals

可为此线路设备设置的终端数、地址或呼叫数。 各个终端由终端 ID 引用,范围从零到一个小于 dwNumTerminals 指示的值。

dwTerminalCapsSize

包含 行TERMCAPS 类型的条目的数组的可变大小设备字段的大小(以字节为单位)。

dwTerminalCapsOffset

从此结构的开头偏移到包含 LINETERMCAPS 类型的条目的数组的可变大小的设备字段。 此数组由终端 ID 编制索引,范围从零到 dwNumTerminals 减去 1。 数组中的每个条目指定相应终端的终端设备功能。 字段的大小由 dwTerminalCapsSize 指定。

dwTerminalTextEntrySize

每个终端文本说明(包括 null 终止符)的大小(由 dwTerminalTextSizedwTerminalTextOffset 指向)(以字节为单位)。

dwTerminalTextSize

可变大小的字段的大小,包含有关每行可用终端的描述性文本(包括 null 终止符)(以字节为单位)

dwTerminalTextOffset

从此结构的开头偏移到有关每行可用终端的描述性文本(以字节为单位)。 每个消息的 dwTerminalTextEntrySize 字节长。 这些文本说明的字符串格式由行的设备功能中的 dwStringFormat 指示。 字段的大小由 dwTerminalTextSize 指定。

dwDevSpecificSize

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

dwDevSpecificOffset

从此结构的开头偏移到特定于设备的字段(以字节为单位)。 字段的大小由 dwDevSpecificSize 指定。

dwLineFeatures

使用 LINEFEATURE_ 常量可用于此行的功能。 调用受支持的功能需要该行处于适当的状态,并且基础行设备以兼容模式打开。 位位置中的零表示相应的功能永远不可用。 一个指示如果行处于适当的状态以便操作有意义,则相应的功能可能可用。 此成员允许应用程序发现哪些行功能可以 (,并且设备永远无法) 哪些功能。

dwSettableDevStatus

可以使用 lineSetLineDevStatus 修改的 LINEDEVSTATUSFLAGS 值。

dwDeviceClassesSize

包含此行上一个或多个地址支持的设备类标识符(包括 null 终止符)的字符串的大小(以字节为单位)。

dwDeviceClassesOffset

从此结构的开头偏移到包含此行上一个或多个地址支持的设备类标识符的字符串(以字节为单位)。 这些字符串用于 lineGetID;它们用 NULLs 分隔,列表中的最后一个标识符后跟两个 NULLs。 字段的大小由 dwDeviceClassesSize 指定。

PermanentLineGuid

GUID 永久关联到线路设备。

dwAddressTypes

用于呼叫的地址类型。 仅当协商的 TAPI 版本为 3.0 或更高版本时,此结构的成员才可用。

ProtocolGuid

当前 TAPI 协议。 仅当协商的 TAPI 版本为 3.0 或更高版本时,此结构的成员才可用。 协议在 tapi3.h 中声明。

dwAvailableTracking

可用跟踪,由 LINECALLHUBTRACKING.constant 表示。 仅当协商的 TAPI 版本为 3.0 或更高版本时,此结构的成员才可用。

注解

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

旧应用程序在没有 LINEDEVCAPS 结构中的新成员的情况下进行编译,并使用小于新大小的 SIZEOF LINEDEVCAPS。 应用程序使用 lineGetDevCaps 函数传入 dwAPIVersion 参数,该函数可用于 TAPI 在处理这种情况时的指导。 如果应用程序传入的 dwTotalSize 成员小于指定 dwAPIVersion 中定义的结构固定部分的大小,则返回LINEERR_STRUCTURETOOSMALL。 如果应用程序分配了足够的内存,请在调用 TSPI_lineGetDevCaps之前,TAPI 会将 dwNeededSizedwUsedSize 成员设置为指定 API 版本中存在的结构固定大小。

新应用程序必须能够识别协商的 API 版本,而不是检查已协商 API 版本结构固定部分的原始结尾之外的固定部分中成员的内容。

如果在 dwBearerModes 成员中设置了LINEBEARERMODE_DATA位, 则 dwMaxRate 成员指示持有者通道上数字传输的最大速率。 LINEDEVCAPS 结构的 dwMaxRate 成员可以包含有效值,即使 LINEDEVCAPS 结构的 dwBearerModes 成员未设置为LINEBEARERMODE_DATA。

如果未在 dwBearerModes 中设置LINEBEARERMODE_DATA,但设置LINEBEARERMODE_VOICE值并在 dwMediaModes 成员中设置LINEMEDIAMODE_DATAMODEM值, dwMaxRate 成员表示附加调制解调器或功能等效电话线路上的最大同步 (DCE) 比特率。 例如,如果调制解调器的最快调节速度为 V.32bis,则 14,400bps, dwMaxRate 等于 14400。 这不是最快的 DTE 端口速率 (,最有可能是 38400、57600 或 115200) ,而是调制解调器在电话线上支持的最快比特率。

应用程序必须小心检查是否未设置LINEBEARERMODE_DATA,以避免错误地解释 dwMaxRate 成员。 如果设置了LINEBEARERMODE_DATA,则可能为 64000 或更高版本。

另应指出,如果调制解调器尚未明确标识 (例如,它是“泛型”调制解调器) ,则表示的数字是基于调制解调器的检查的“最佳猜测”。

通过 dwDeviceClassesOffset 的成员 dwSettableDevStatus 仅适用于使用 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