共用方式為


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 字元,表示 Interdigit-timeout 終止了數位收集。 您可以在AC_GATHERDIGITSMINTIMEOUT和AC_GATHERDIGITSMAXTIMEOUT功能中找到可指定的最小和最大逾時。

傳回值

這個方法可以傳回其中一個值。

傳回碼 描述
S_OK
方法成功。
E_POINTER
pTerminationDigits 參數不是有效的指標。
E_OUTOFMEMORY
記憶體不足,無法配置收集的數位緩衝區。
TAPI_E_INVALCALLSTATE
呼叫必須處於 連線 狀態。

備註

GatherDigits 方法會轉譯為TAPI 2的呼叫。xlineGatherDigits 函式

通話上只能有一個 GatherDigits 呼叫未完成。 如果您再次呼叫 GatherDigits在發生TE_GATHERDIGITS 事件之前,第二次呼叫會取消先前的位數收集。 已取消的數位收集嘗試會傳送 TE_GATHERDIGITS 事件,其中目前收集的位數。

規格需求

需求
目標平台 Windows
標頭 tapi3if.h
程式庫 Uuid.lib
Dll Tapi3.dll

另請參閱

ITLegacyCallMediaControl2