TSPI_lineDial函式 (tspi.h)
TSPI_lineDial函式會撥入指定呼叫上的指定可撥號號碼。
語法
LONG TSPIAPI TSPI_lineDial(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
LPCWSTR lpszDestAddress,
DWORD dwCountryCode
);
參數
dwRequestID
異步要求的標識碼。
hdCall
要撥打之呼叫的服務提供者句柄。 hdCall 的呼叫狀態可以是閑置和中斷連線以外的任何狀態。
lpszDestAddress
以 Null 終止的 Unicode 字串指標,指定要使用標準可撥號號碼格式的目的地。
dwCountryCode
目的地的國家或地區代碼。 實作會使用這個 來選取目的地位址的呼叫進度通訊協定。 如果指定 0 的值,則會使用服務提供者所定義的預設呼叫進度通訊協定。 呼叫此函式時,TAPI 不會驗證此參數。
傳回值
如果發生錯誤,則傳回 dwRequestID 或錯誤號碼。 如果函式成功,則對應ASYNC_COMPLETION的 lResult 實際參數為零;如果發生錯誤,則為錯誤號碼。 可能的傳回值如下所示:
LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALADDRESS、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCOUNTRYCODE、LINEERR_DIALBILLING、LINEERR_INVALCALLSTATE、LINEERR_DIALQUIET、LINEERR_ADDRESSBLOCKED、LINEERR_DIALDIALTONE、LINEERR_NOMEM、LINEERR_DIALPROMPT LINEERR_OPERATIONUNAVAIL。
備註
如果呼叫的目前狀態不允許撥號,服務提供者會傳回LINEERR_INVALCALLSTATE。
如果服務提供者傳回LINEERR_INVALADDRESS,則不會執行撥號。
如果服務提供者傳回LINEERR_DIALBILLING、LINEERR_DIALQUIET、LINEERR_DIALDIALTONE或LINEERR_DIALPROMPT,則它應該不會執行 TSPI_lineDial (所執行的動作,例如,沒有部分撥號,也不會) 。 這是因為服務提供者應該先預先掃描不支援字元的數位。
TSPI_lineDial用於撥打現有通話外觀;例如,以 NULL 作為 lpszDestAddress 或結尾為 ';' 的TSPI_lineMakeCall傳回的呼叫句柄、從 TSPI_lineSetupTransfer 或 TSPI_lineSetupConference 傳回的呼叫句柄。 如果 線路的裝置功能允許,TSPI_lineDial在進行多階段撥號時,可以在撥號過程中多次叫用。
如果先前呼叫 TSPI_lineMakeCall 或 TSPI_lineDial 函式中的 lpszDestAddress 參數所指向的字串是以分號終止,則目前對 TSPI_lineDial 呼叫中的空字串表示撥號已完成。
您可以在以 CRLF 分隔的單一撥號字串中提供多個位址。 提供反向多任務處理的服務提供者可以建立每個位址的個別實體呼叫,並將單一呼叫句柄傳回應用程式的所有呼叫匯總。 所有位址都會使用相同的國家或地區代碼。
在服務提供者接受地址之後,不會在呼叫最後連線之後,將撥號視為完成。 提供反向多任務處理的服務提供者可能會一次提供多個位址。 服務提供者必須將 LINE_CALLSTATE 訊息傳送給 TAPI,以通知其通話進度。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tspi.h |