Ziffernsammlung

Neben der Aktivierung der Ziffernüberwachung und der Benachrichtigung über Ziffern nacheinander kann eine Anwendung auch anfordern, dass mehrere Ziffern in einem Puffer gesammelt werden. Nur wenn der Puffer voll ist oder eine andere Beendigungsbedingung erfüllt ist, wird die Anwendung benachrichtigt. Die Ziffernsammlung ist für Funktionen wie die Kreditkartennummernsammlung nützlich. Sie wird ausgeführt, wenn eine Anwendung lineGatherDigits aufruftund einen Puffer angibt, der mit Ziffern gefüllt werden soll. Die Ziffernsammlung wird beendet, wenn eine der folgenden Bedingungen zutrifft:

  • Die angeforderte Anzahl von Ziffern wurde erfasst.
  • Eine von mehreren Beendigungsziffern wird erkannt. Die Beendigungsziffern werden für lineGatherDigitsangegeben, und die Beendigungsziffer wird ebenfalls im Puffer platziert.
  • Eines von zwei Timeouts läuft ab. Bei den Timeouts handelt es sich um ein Zeitlimit für die erste Ziffer, das die maximale Dauer vor der Erfassung der ersten Ziffer angibt, und ein zweistelliges Timeout, das die maximale Dauer zwischen aufeinanderfolgenden Ziffern angibt.
  • Die Ziffernsammlung wird explizit durch lineGatherDigits mit einem anderen Parametersatz abgebrochen, um eine neue Sammlungsanforderung zu starten, oder mithilfe eines NULL-Ziffernpufferparameters zum Abbrechen.

Wenn die Ziffernsammlung aus irgendeinem Grund beendet wird, wird eine LINE _ GATHERDIGITS-Nachricht an die Anwendung gesendet, die die Ziffernsammlung angefordert hat. Bei einem Aufruf kann für alle Anwendungen, die Besitzer des Aufrufs sind, immer nur eine einstellige Sammlungsanforderung ausstehen.

Die Ziffernsammlung und Ziffernüberwachung kann bei demselben Aufruf gleichzeitig aktiviert werden. In diesem Fall empfängt die Anwendung eine LINE _ MONITORDIGITS-Nachricht für jede erkannte Ziffer und eine separate LINE _ GATHERDIGITS-Nachricht, wenn der Puffer zurückgesendet wird.