TSPI_lineGenerateDigits函式 (tspi.h)

TSPI_lineGenerateDigits函式會使用指定的訊號模式,在指定的呼叫上起始指定的數位產生為頻內音調。 在進行數位或音調產生時叫用此函式會中止目前的數位或音調產生。 傳遞lpsDigitsNull值不會產生新的數位。

注意 每個通話一次只能有一個頻內產生要求 (音調產生或數位產生) 。
 

語法

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參數必須位於LINEDEVCAPSMinDialParams指定到MaxDialParams的範圍內。 如果超出範圍,則服務提供者會將實際值設定為範圍中最接近的值。 呼叫此函式時,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設為NullTSPI_lineGenerateDigits會取消任何目前的數位 (或音調) 產生。
 
TAPI 層級的對應函式不包含正式參數 dwEndToEndID。 在該層級,沒有端對端標記。 TAPI 使用 TSPI 層級的端對端標記來厘清某個 TSPI_lineGenerateDigits 要求。

需求

   
目標平台 Windows
標頭 tspi.h

另請參閱

LINEDEVCAPS

LINEDIGITMODE_常數

LINEEVENT

LINE_GENERATE

TSPI_lineGenerateTone