LINECALLINFO 结构 (tapi.h)

LINECALLINFO 结构包含有关调用的信息。 在调用期间,此信息保持相对固定。 多个函数使用 LINECALLINFO。 结构由 lineGetCallInfo 函数和 TSPI_lineGetCallInfo 函数返回。 如果结构的一部分发生了更改,则会向应用程序发送 一条LINE_CALLINFO 消息,指示哪些信息项已更改。

LINECALLSTATUS 结构中提供了有关呼叫的动态更改信息(如呼叫进度状态),该结构由对 lineGetCallStatus 函数的调用返回。

语法

typedef struct linecallinfo_tag {
  DWORD          dwTotalSize;
  DWORD          dwNeededSize;
  DWORD          dwUsedSize;
  HLINE          hLine;
  DWORD          dwLineDeviceID;
  DWORD          dwAddressID;
  DWORD          dwBearerMode;
  DWORD          dwRate;
  DWORD          dwMediaMode;
  DWORD          dwAppSpecific;
  DWORD          dwCallID;
  DWORD          dwRelatedCallID;
  DWORD          dwCallParamFlags;
  DWORD          dwCallStates;
  DWORD          dwMonitorDigitModes;
  DWORD          dwMonitorMediaModes;
  LINEDIALPARAMS DialParams;
  DWORD          dwOrigin;
  DWORD          dwReason;
  DWORD          dwCompletionID;
  DWORD          dwNumOwners;
  DWORD          dwNumMonitors;
  DWORD          dwCountryCode;
  DWORD          dwTrunk;
  DWORD          dwCallerIDFlags;
  DWORD          dwCallerIDSize;
  DWORD          dwCallerIDOffset;
  DWORD          dwCallerIDNameSize;
  DWORD          dwCallerIDNameOffset;
  DWORD          dwCalledIDFlags;
  DWORD          dwCalledIDSize;
  DWORD          dwCalledIDOffset;
  DWORD          dwCalledIDNameSize;
  DWORD          dwCalledIDNameOffset;
  DWORD          dwConnectedIDFlags;
  DWORD          dwConnectedIDSize;
  DWORD          dwConnectedIDOffset;
  DWORD          dwConnectedIDNameSize;
  DWORD          dwConnectedIDNameOffset;
  DWORD          dwRedirectionIDFlags;
  DWORD          dwRedirectionIDSize;
  DWORD          dwRedirectionIDOffset;
  DWORD          dwRedirectionIDNameSize;
  DWORD          dwRedirectionIDNameOffset;
  DWORD          dwRedirectingIDFlags;
  DWORD          dwRedirectingIDSize;
  DWORD          dwRedirectingIDOffset;
  DWORD          dwRedirectingIDNameSize;
  DWORD          dwRedirectingIDNameOffset;
  DWORD          dwAppNameSize;
  DWORD          dwAppNameOffset;
  DWORD          dwDisplayableAddressSize;
  DWORD          dwDisplayableAddressOffset;
  DWORD          dwCalledPartySize;
  DWORD          dwCalledPartyOffset;
  DWORD          dwCommentSize;
  DWORD          dwCommentOffset;
  DWORD          dwDisplaySize;
  DWORD          dwDisplayOffset;
  DWORD          dwUserUserInfoSize;
  DWORD          dwUserUserInfoOffset;
  DWORD          dwHighLevelCompSize;
  DWORD          dwHighLevelCompOffset;
  DWORD          dwLowLevelCompSize;
  DWORD          dwLowLevelCompOffset;
  DWORD          dwChargingInfoSize;
  DWORD          dwChargingInfoOffset;
  DWORD          dwTerminalModesSize;
  DWORD          dwTerminalModesOffset;
  DWORD          dwDevSpecificSize;
  DWORD          dwDevSpecificOffset;
  DWORD          dwCallTreatment;
  DWORD          dwCallDataSize;
  DWORD          dwCallDataOffset;
  DWORD          dwSendingFlowspecSize;
  DWORD          dwSendingFlowspecOffset;
  DWORD          dwReceivingFlowspecSize;
  DWORD          dwReceivingFlowspecOffset;
  DWORD          dwCallerIDAddressType;
  DWORD          dwCalledIDAddressType;
  DWORD          dwConnectedIDAddressType;
  DWORD          dwRedirectionIDAddressType;
  DWORD          dwRedirectingIDAddressType;
} LINECALLINFO, *LPLINECALLINFO;

成员

dwTotalSize

分配给此数据结构的总大小(以字节为单位)。

dwNeededSize

保存所有返回的信息所需的此数据结构的大小(以字节为单位)。

dwUsedSize

包含有用信息的此数据结构部分的大小(以字节为单位)。

hLine

与此调用关联的线路设备的句柄。

dwLineDeviceID

与此调用关联的线路设备的设备标识符。

dwAddressID

此调用所在的行上的地址的地址标识符。 地址标识符与地址永久关联;标识符在操作系统升级中保持不变。

dwBearerMode

调用的当前持有者模式。 此成员使用 LINEBEARERMODE_常量之一。

dwRate

调用数据流的速率,以 bps (位/秒) 为单位。

dwMediaMode

当前在通话中的信息流的媒体类型。 这是由调用的所有者确定的媒体类型,这不一定与上 一LINE_MONITORMEDIA 消息的媒体类型相同。 此成员不受LINE_MONITORMEDIA消息的直接影响。 此成员使用 LINEMEDIAMODE_ 常量

dwAppSpecific

不由 API 实现和服务提供商解释。 它可由此调用的任何所有者应用程序使用 lineSetAppSpecific 函数进行设置。

dwCallID

在某些电话环境中,交换机或服务提供商可以为每个呼叫分配唯一标识符。 这允许跨传输、转接或其他事件跟踪呼叫。 这些调用 ID 的域及其范围是服务提供程序定义的。 dwCallID 成员使应用程序可以使用此唯一标识符。

dwRelatedCallID

使用呼叫 ID 的电话环境通常可能会发现有必要将一个呼叫关联到另一个呼叫。 服务提供商可以使用 dwRelatedCallID 成员实现此目的。

dwCallParamFlags

呼叫传出时与调用相关的参数的集合。 这些是 lineMakeCall 中指定的相同调用参数,是一个或多个 LINECALLPARAMFLAGS_常量

dwCallStates

一个或多个LINECALLSTATE_常量,指示在此调用中可以通知应用程序的状态。 dwCallStates 成员在 LINECALLINFO 中是常量,不会根据调用状态而更改。

dwMonitorDigitModes

各种数字模式。 此成员是当前已启用监视的 一个或多个LINEDIGITMODE_常量

dwMonitorMediaModes

当前为其启用了监视的各种媒体类型。 此成员是 一个或多个LINEMEDIAMODE_常量

DialParams

当前在调用上生效的参数拨号,类型为 LINEDIALPARAMS。 除非这些参数由 lineMakeCalllineSetCallParams 设置,否则它们的值与 LINEDEVCAPS 结构中使用的默认值相同。

dwOrigin

标识调用的发源位置。 此成员可以是 LINECALLORIGIN_常量之一。

dwReason

发生调用的原因。 此成员可以是 LINECALLREASON_常量之一。

dwCompletionID

传入调用的完成标识符(如果它是终止的完成请求的结果)。 仅当 LINECALLREASON_CALLCOMPLETION dwReason 时,此标识符才有意义。

dwNumOwners

具有不同调用句柄且具有呼叫所有者权限的应用程序模块数。

dwNumMonitors

具有不同调用句柄且具有呼叫的监视权限的应用程序模块数。

dwCountryCode

目标参与方的国家或地区代码。 如果未知,则为零。

dwTrunk

路由呼叫所基于的中继的编号。 此成员用于传入和传出调用。 如果 dwTrunk 成员未知,则应将其设置为 0xFFFFFFFF。

dwCallerIDFlags

确定调用方或发起方标识符信息的有效性和内容。 此成员使用 LINECALLPARTYID_常量之一。

dwCallerIDSize

调用方 ID 号码的大小(以字节为单位)。

dwCallerIDOffset

从此结构的开头偏移到包含调用方 ID 号信息的可变大小字段。 字段的大小由 dwCallerIDSize 指定。

dwCallerIDNameSize

调用方 ID 名称的大小(包括 null 终止符),以字节为单位。

dwCallerIDNameOffset

从此结构的开头偏移到包含调用方 ID 名称信息的可变大小字段。 字段的大小由 dwCallerIDNameSize 指定。

dwCalledIDFlags

确定被调用方 ID 信息的有效性和内容。 被调用方对应于最初寻址的参与方。 此成员使用 LINECALLPARTYID_常量之一。

dwCalledIDSize

被调用方 ID 号的大小(以字节为单位)。

dwCalledIDOffset

从结构的开头偏移到包含被调用方 ID 号信息的可变大小字段。 字段的大小由 dwCalledIDSize 指定。

dwCalledIDNameSize

被调用方 ID 名称的大小(包括 null 终止符),以字节为单位。

dwCalledIDNameOffset

从结构的开头偏移到包含被调用方 ID 名称信息的可变大小字段。 字段的大小由 dwCalledIDNameSize 指定。

dwConnectedIDFlags

确定连接方 ID 信息的有效性和内容。 连接的一方是实际连接的一方。 如果呼叫被转移,这可能与被调用方 ID 不同。 此成员使用 LINECALLPARTYID_常量之一。

dwConnectedIDSize

已连接方 ID 号的大小(以字节为单位)。

dwConnectedIDOffset

从此结构的开头偏移到包含已连接方 ID 号信息的可变大小字段。 字段的大小由 dwConnectedIDSize 指定。

dwConnectedIDNameSize

包括 null 终止符的已连接方 ID 名称的大小(以字节为单位)。

dwConnectedIDNameOffset

从此结构的开头偏移到包含连接方 ID 名称信息的可变大小字段。 字段的大小由 dwConnectedIDNameSize 指定。

dwRedirectionIDFlags

确定重定向方标识符信息的有效性和内容。 重定向方标识会话重定向到的地址。 此成员使用 LINECALLPARTYID_常量之一。

dwRedirectionIDSize

重定向方 ID 号的大小(以字节为单位)。

dwRedirectionIDOffset

从结构的开头偏移到包含重定向方 ID 号信息的可变大小字段。 字段的大小由 dwRedirectionIDSize 指定。

dwRedirectionIDNameSize

重定向方 ID 名称的大小(以字节为单位)。

dwRedirectionIDNameOffset

从结构的开头偏移到包含重定向方 ID 名称信息的可变大小字段。 字段的大小由 dwRedirectionIDNameSize 指定。

dwRedirectingIDFlags

确定重定向方标识符信息的有效性和内容。 重定向方标识重定向会话的地址。 此成员使用 LINECALLPARTYID_常量之一。

dwRedirectingIDSize

重定向方 ID 号的大小(以字节为单位)。

dwRedirectingIDOffset

从结构的开头偏移到包含重定向方 ID 号信息的可变大小字段。 字段的大小由 dwRedirectingIDSize 指定。

dwRedirectingIDNameSize

重定向方 ID 名称(包括 null 终止符)的大小(以字节为单位)。

dwRedirectingIDNameOffset

从结构的开头偏移到包含重定向方 ID 名称信息的可变大小字段。 字段的大小由 dwRedirectingIDNameSize 指定。

dwAppNameSize

应用程序名称字段的大小(包括 null 终止符),以字节为单位。

dwAppNameOffset

从结构的开头偏移到包含首次发起、接受或接听呼叫的应用程序的用户友好名称的可变大小字段。 这是应用程序可以在 lineInitializeEx 中指定的名称。 如果应用程序未指定此类名称,则改用应用程序的模块文件名。 字段的大小由 dwAppNameSize 指定。

dwDisplayableAddressSize

可显示地址字符串的大小(包括 null 终止符),以字节为单位。

dwDisplayableAddressOffset

可显示字符串用于日志记录目的。 此信息是从启动调用的函数 的 LINECALLPARAMS 获取的。 lineTranslateAddress 函数返回要放置在 LINETRANSLATEOUTPUT 结构的 dwDisplayableAddressSizedwDisplayableAddressOffset 成员的此字段中的适当信息。

dwCalledPartySize

被调用方说明字段的大小(以字节为单位)。

dwCalledPartyOffset

从结构的开头偏移到指定被调用方的用户友好说明的可变大小字段。 此信息可以使用 lineMakeCall 指定,并且可以选择在建立新调用时在 lpCallParams 参数中指定。 它可用于调用日志记录。 字段的大小由 dwCalledPartySize 指定。

dwCommentSize

注释字段的大小(以字节为单位)。

dwCommentOffset

从结构的开头偏移到大小可变的字段,该字段包含有关使用 lineMakeCall 发起调用的应用程序提供的调用的注释。 每当建立新调用时,可以选择在 lpCallParams 参数中指定此信息。 字段的大小由 dwCommentSize 指定。

dwDisplaySize

原始显示信息的大小(以字节为单位)。

dwDisplayOffset

从结构开头到保存原始显示信息的可变大小字段的偏移量。 根据电话环境,服务提供商可能会从此成员对中提取功能信息,以便格式设置和演示最适合此电话配置。 字段的大小由 dwDisplaySize 指定。

dwUserUserInfoSize

用户信息的大小(以字节为单位)。 如果用户-用户信息是指向字符串的指针,则大小必须包含 null 终止符。

dwUserUserInfoOffset

从结构的开头偏移到保存用户-用户信息的可变大小字段。 用户-用户信息的协议鉴别器字段(如果使用)显示为 dwUserUserInfoOffset 指向的数据的第一个字节,并在 dwUserUserInfoSize 中记入。

dwHighLevelCompSize

高级兼容性信息的大小(以字节为单位)。

dwHighLevelCompOffset

从结构的开头偏移到保存高级兼容性信息的可变大小字段。 此信息的格式由其他标准 (ISDN Q.931) 指定。 字段的大小由 dwHighLevelCompSize 指定。

dwLowLevelCompSize

低级别兼容性信息的大小(以字节为单位)。

dwLowLevelCompOffset

从结构的开头偏移到保存低级别兼容性信息的可变大小字段。 此信息的格式由其他标准 (ISDN Q.931) 指定。 字段的大小由 dwLowLevelCompSize 指定。

dwChargingInfoSize

充电信息的大小(以字节为单位)。

dwChargingInfoOffset

从结构的开头到保存充电信息的可变大小字段的偏移量。 此信息的格式由其他标准 (ISDN Q.931) 指定。 字段的大小由 dwChargingInfoSize 指定。

dwTerminalModesSize

当前终端模式数组的大小(以字节为单位)。

dwTerminalModesOffset

从结构的开头到包含 具有 DWORD 大小的条目的数组的可变大小设备字段的偏移量。 数组条目按终端标识符编制索引,范围从 0 到 1 比 dwNumTerminals 少 1。 数组中的每个条目指定由LINETERMMODE_常量之一指定的、具有 lineSetTerminal 函数的相应终端集的当前终端模式。 数组的大小由 dwTerminalModesSize 指定。

dwDevSpecificSize

设备特定字段的大小(以字节为单位)。

dwDevSpecificOffset

从结构开头到保存特定于设备信息的可变大小字段的偏移量。 字段的大小由 dwDevSpecificSize 指定。

dwCallTreatment

当前正在呼叫上应用的呼叫处理,或者在呼叫进入下一个适用状态时应用。 如果不支持调用处理,可以为零。

dwCallDataSize

应用程序可设置的调用数据的大小(以字节为单位)。

dwCallDataOffset

从结构的开头偏移到应用程序设置的调用数据。 字段的大小由 dwCallDataSize 指定。

dwSendingFlowspecSize

服务质量信息的大小(以字节为单位)。

dwSendingFlowspecOffset

从结构的开头偏移到 FLOWSPEC 结构,后跟 WinSock 提供程序特定的数据,相当于在 QOS 结构中的 SendingFlowspec 中存储的数据。 指定当前在调用的发送方向上生效的服务质量。 FLOWSPEC 结构后面的提供程序特定部分不得包含指向其他内存块的指针,因为 TAPI 不知道如何封送专用指针 () 所指向的数据,并通过进程间通信将其传达给应用程序。 字段的大小由 dwSendingFlowspecSize 指定。

dwReceivingFlowspecSize

服务质量信息的大小(以字节为单位)。

dwReceivingFlowspecOffset

从结构的开头偏移到 FLOWSPEC 结构,后跟 WinSock 提供程序特定的数据,相当于在 QOS 结构中的接收流中存储的数据。 指定呼叫的接收方向上当前有效的服务质量。 FLOWSPEC 结构后面的提供程序特定部分不得包含指向其他内存块的指针,因为 TAPI 不知道如何封送专用指针 () 所指向的数据,并通过进程间通信将其传达给应用程序。 字段的大小由 dwReceivingFlowspecSize 指定。

dwCallerIDAddressType

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

dwCalledIDAddressType

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

dwConnectedIDAddressType

呼叫实际连接到的目标的地址类型。 仅当协商的 TAPI 版本为 3.0 或更高版本时,结构中的此成员才可用。

dwRedirectionIDAddressType

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

dwRedirectingIDAddressType

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

注解

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

LINECALLINFO 数据结构包含有关调用的相对固定的信息。 此结构使用 lineGetCallInfo 返回。 当此数据结构中的信息项发生更改时,会将LINE_CALLINFO消息发送到应用程序。 此消息的参数是已更改的信息项或字段。

通过 dwReceivingFlowspecOffset 的成员 dwCallTreatment 仅适用于使用 API 版本 2.0 或更高版本打开线路设备的应用程序。

注意指定 dwCallID 字段的内容的首选格式和其他五个类似字段 (dwCallerIDFlagdwCallerIDSizedwCallerIDOffsetdwCallerIDNameSizedwCallerIDNameOffset) 是 TAPI 规范数字格式。 例如,在放入 LINECALLINFO 结构之前,应将从交换机接收的“4258828080”ICLID 转换为“+1 (425) 8828080”。 这种标准化格式有助于搜索应用程序中实现的数据库和回调函数。
 

要求

要求
Header tapi.h

另请参阅

LINECALLSTATUS

LINEDEVCAPS

LINEDIALPARAMS

LINETRANSLATEOUTPUT

LINE_CALLINFO

LINE_MONITORMEDIA

TSPI_lineGetCallInfo

lineGenerateDigits

lineGetCallInfo

lineGetCallStatus

lineInitializeEx

lineMakeCall

lineSecureCall

lineSetAppSpecific

lineSetCallParams

lineSetTerminal

lineTranslateAddress