TSPI_lineGenerateDigits 函数 (tspi.h)

TSPI_lineGenerateDigits 函数使用指定的信号模式在指定调用上启动指定数字的生成,作为带内音。 在数字或音调生成正在进行时调用此函数会中止当前数字或音调生成。 为 lpsDigits 传递 NULL 值不会生成新数字。

注意 每次调用 (音代或数字生成) 一次只能进行一个带内生成请求。
 

语法

LONG TSPIAPI TSPI_lineGenerateDigits(
  HDRVCALL hdCall,
  DWORD    dwEndToEndID,
  DWORD    dwDigitMode,
  LPCWSTR  lpszDigits,
  DWORD    dwDuration
);

参数

hdCall

要对其生成数字的调用的句柄。

dwEndToEndID

此唯一请求标识符应由服务提供商存储,并在数字生成完成后作为 dwParam2 传回 LINEEVENT 过程。

dwDigitMode

用于向这些数字发出信号的格式。 此参数使用一个且只使用一个 LINEDIGITMODE_常量

lpszDigits

指向以 null 结尾的 Unicode 字符缓冲区的指针,该缓冲区包含要生成的数字。 逗号在分隔的前一位和下一位数字的信号之间注入额外的延迟。 此暂停的持续时间是定义的配置。 线路的设备功能指示此持续时间。 多个逗号可用于注入更长的暂停。 在生成过程中会忽略无效数字,而不是报告为错误。

dwDuration

指定 DTMF 数字和脉冲和 DTMF 位数间距的持续时间(以毫秒为单位)。 值为 0 使用默认值。 dwDuration 参数必须在 LineDEVCAPSMinDialParamsMaxDialParams 指定的范围内。 如果范围外,则服务提供程序会将实际值设置为范围内最接近的值。 调用此函数时,TAPI 不会验证此参数。

返回值

如果函数成功,则返回零;如果发生错误,则返回错误号。 可能的返回值如下所示:

LINEERR_INVALCALLHANDLE、LINEERR_NOMEM、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALDIGITMODE、LINEERR_OPERATIONFAILED、LINEERR_RESOURCEUNAVAIL、LINEERR_RESOURCEUNAVAIL。

注解

hdCall 的调用状态可以是任何状态。

成功启动数字生成时, TSPI_lineGenerateDigits 函数被视为已成功完成;生成所有数字时不是 。

生成 lpsDigits 中的所有数字后,或者数字生成中止或取消后, LINE_GENERATE 消息将发送到 TAPI。

注意 每次调用仅允许进行一个 (音调生成或数字生成) 的带内生成请求。 这意味着,如果当前在调用中正在进行数字生成,则调用 TSPI_lineGenerateDigitsTSPI_lineGenerateTone 将取消数字生成。 当调用后续 TSPI_lineGenerateDigitsTSPI_lineGenerateTone 时,服务提供商必须终止正在进行的任何数字生成。 将 lpszDigits 设置为 NULL 时调用TSPI_lineGenerateDigits会取消任何当前数字 (或音调) 生成。
 
TAPI 级别的相应函数不包括正式参数 dwEndToEndID。 在该级别,没有端到端标记。 TAPI 在 TSPI 级别使用端到端标记来消除一个 TSPI_lineGenerateDigits 请求与另一个请求的歧义。

要求

   
目标平台 Windows
标头 tspi.h

另请参阅

LINEDEVCAPS

LINEDIGITMODE_常量

LINEEVENT

LINE_GENERATE

TSPI_lineGenerateTone