数字收集

除了启用数字监视并一次收到一个数字的通知外,应用程序还可以请求在缓冲区中收集多个数字。 仅当缓冲区已满或满足其他终止条件时,才会通知应用程序。 数字收集对于诸如信用卡数字收集等函数很有用。 当应用程序调用 lineGatherDigits 并指定要填充数字的缓冲区时执行该操作。 当满足以下条件之一时,数字收集将终止:

  • 已收集请求的位数。
  • 检测到多个终止数字之一。 终止数字指定为 lineGatherDigits,终止数字也放置在缓冲区中。
  • 两个超时中的一个过期。 超时是第一个数字超时,指定必须收集第一个数字之前的最大持续时间,以及数字间超时,指定连续数字之间的最长持续时间。
  • 使用另一组参数启动新的收集请求或使用 NULL 数字缓冲区参数取消,lineGatherDigits 再次显式取消数字收集。

当数字收集因任何原因终止时, 会将LINE_GATHERDIGITS 消息发送到请求数字收集的应用程序。 在任何给定时间,只有一位数的收集请求才能在作为呼叫所有者的所有应用程序中未完成。

可以同时在同一调用上启用数字收集和数字监视。 在这种情况下,应用程序将收到每个检测到的数字 LINE_MONITORDIGITS 消息,并在发送回缓冲区时收到单独的LINE_GATHERDIGITS消息。