ITLegacyCallMediaControl2::GatherDigits 方法 (tapi3if.h)
GatherDigits 方法在指定调用中启动数字的收集。 应用程序指定要收集的最大位数。
语法
HRESULT GatherDigits(
[in] TAPI_DIGITMODE DigitMode,
[in] long lNumDigits,
[in] BSTR pTerminationDigits,
[in] long lFirstDigitTimeout,
[in] long lInterDigitTimeout
);
参数
[in] DigitMode
要监视的数字模式 () 。 此参数指定一个或多个 LINEDIGITMODE 常量。
[in] lNumDigits
要收集的位数。
如果此参数为零,则 方法将取消正在进行的任何数字收集,而不会开始新的数字收集尝试。 有关更多信息,请参见下面的“备注”部分。
[in] pTerminationDigits
指向终止数字的 BSTR 表示形式的指针。 如果检测到字符串中的终止数字之一,则会将该数字追加到缓冲区,数字集合将终止, 并将TE_GATHERDIGITS 事件发送到应用程序。
[in] lFirstDigitTimeout
预计第一个数字的时间长度(以毫秒为单位)。 如果在此时间范围内未收到第一个数字,则会中止数字集合,并将 TE_GATHERDIGITS 事件发送到应用程序。 缓冲区仅包含 NULL 字符,指示未收到任何数字,并且第一个数字超时终止了数字收集。 可以在AC_GATHERDIGITSMINTIMEOUT和AC_GATHERDIGITSMAXTIMEOUT功能中找到可以指定的最小和最大超时。
[in] lInterDigitTimeout
连续数字之间的最长时间(以毫秒为单位)。 如果在此时间范围内未收到下一位数字,则会中止数字集合,并将 TE_GATHERDIGITS 事件发送到应用程序。 缓冲区仅包含收集到此点的数字,后跟 NULL 字符,指示跨数字超时终止了数字收集。 可以在AC_GATHERDIGITSMINTIMEOUT和AC_GATHERDIGITSMAXTIMEOUT功能中找到可以指定的最小和最大超时。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
pTerminationDigits 参数不是有效的指针。 |
|
没有足够的内存来分配收集数字缓冲区。 |
|
调用必须处于 连接 状态。 |
注解
GatherDigits 方法转换为对 TAPI 2 的调用。xlineGatherDigits 函数。
一次调用中只能有一个 GatherDigits 调用未完成。 如果再次调用 GatherDigits ,则 TE_GATHERDIGITS 事件发生之前,第二次调用将取消以前的数字收集。 已取消的数字收集尝试发送 TE_GATHERDIGITS 事件,其中包含到目前为止收集的数字。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | tapi3if.h |
Library | Uuid.lib |
DLL | Tapi3.dll |