lineGenerateDigitsA 函数 (tapi.h)

lineGenerateDigits 函数使用指定的信号模式以带内音的形式在指定调用中启动指定数字的生成。 使用 lpszDigits 值的 NULL 值调用此函数, 中止当前正在进行的任何数字生成。 调用 lineGenerateDigitslineGenerateTone,而数字生成正在进行中中止当前数字生成或音调生成,并启动最近指定的数字或音调的生成。

语法

LONG lineGenerateDigitsA(
  HCALL  hCall,
  DWORD  dwDigitMode,
  LPCSTR lpszDigits,
  DWORD  dwDuration
);

参数

hCall

调用句柄。 应用程序必须是调用的所有者。 hCall 的调用状态可以是任何状态。 TAPI 不施加任何调用州要求,但某些 Tapi 服务提供商可能要求 hCall 处于LINECALLSTATE_CONNECTED状态。

dwDigitMode

用于向这些数字发出信号的格式。 请注意,dwDigitMode 只能设置单个标志。 此参数使用 LINEDIGITMODE_ 常量之一。

lpszDigits

指向包含要生成的数字的 null终止字符缓冲区的指针。 有效字符是为 dwDigitModes中提供的 LINEDIGITMODE_ 常量指定的字符。

此外,逗号 (,) 也是一个有效的字符。 逗号在上一个数字和下一个数字的信号之间注入额外的延迟,以将其分隔。 此暂停的持续时间是定义的配置,行设备功能指示此持续时间。 多个逗号可用于注入更长的暂停时间。 生成过程中忽略无效数字,而不是报告为错误。

感叹号 (!) 是一个有效的字符。 此字符会导致“hookflash”操作,如 可拨号地址所述。

dwDuration

DTMF 数字和脉冲和 DTMF 位数间距的持续时间(以毫秒为单位)。 值为 0 使用默认值。 dwDuration 参数必须位于 LINEDEVCAPS中由 MinDialParamsMaxDialParams 指定的范围内。 如果范围不足,则实际值设置为该区域中最近的值。

返回值

如果请求成功,则返回零;如果发生错误,则返回负错误号。 可能的返回值为:

LINEERR_INVALCALLHANDLE、LINEERR_NOTOWNER、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALDIGITMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALPOINTER、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM、LINEERR_UNINITIALIZED。

言论

lineGenerateDigits 函数被视为在成功启动数字生成后成功完成,而不是生成所有数字时成功完成。 与 lineDial(以网络相关方式拨号数字)相比,lineGenerateDigits 保证在使用脉冲时,使用 DTMF 或挂钩开关拨号脉冲在语音通道上生成数字作为带内音。 lineGenerateDigits 函数通常不适合拨打或拨号。 它用于通过已建立的调用进行端到端信号。

在生成 lpszDigits 中的所有数字后,或者在中止或取消数字生成后,LINE_GENERATE 消息发送到应用程序。

只有一个带内生成请求(音调生成或数字生成)可以跨属于呼叫所有者的所有应用程序执行每个呼叫。 通过启动另一个数字生成请求或音调生成请求来取消呼叫中的数字生成。 若要取消当前数字生成,应用程序可以调用 lineGenerateDigits,并为 lpszDigits 参数指定 NULL

根据服务提供商和硬件,应用程序可以监视它自己生成的数字。 如果不需要,应用程序可以在生成数字时禁用数字监视。

注意

tapi.h 标头将 lineGenerateDigits 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
目标平台 窗户
标头 tapi.h
Tapi32.lib
DLL Tapi32.dll

另请参阅

LINEDEVCAPS

LINE_GENERATE

补充线服务函数

TAPI 2.2 参考概述

lineDial

lineGenerateTone