lineSetupTransfer 函式會起始 hCall 參數所指定的呼叫轉移。 它建立了諮詢電話,lphConsultCall,該方可以撥打,成為轉移的目的地。 應用程式會取得 lphConsultCall 參數的擁有者許可權。
語法
LONG lineSetupTransferA(
HCALL hCall,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
參數
hCall
要傳送之呼叫的句柄。 應用程式必須是呼叫的擁有者。 hCall 的呼叫狀態必須 連接。
lphConsultCall
hCall 句柄的指標。 然後,這個位置會載入識別臨時諮詢電話的句柄。 設定轉接電話時,會自動配置諮詢電話,讓 lineDial 撥打與新轉接目的地相關聯的位址。 在完成轉移之前,原始方可以就這次諮詢電話進行交談。 hConsultCall 的呼叫狀態不適用。
此傳輸程式可能不適用於某些線路裝置。 應用程式可能需要忽略新的諮詢電話,並取消保留現有的保留電話(使用 線未扣留),以識別轉移的目的地。 在支援跨位址通話轉移的交換器上,諮詢通話可以存在於與要轉移的通話不同的位址上。 您也可以將諮詢電話設定為全新的電話,方法是 lineMakeCall,到轉移目的地。 呼叫的位址功能中指定了哪些形式的傳輸。
lpCallParams
LINECALLPARAMS 的指標 結構,其中包含建立諮詢呼叫時要使用的呼叫參數。 如果不需要任何特殊的呼叫設定參數,此參數可以設定為 NULL。
傳回值
如果函式是以異步方式完成,則傳回正要求標識碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功,則對應 LINE_REPLY 訊息的 dwParam2 參數為零,如果發生錯誤,則為負錯誤號碼。 可能的傳回值為:
LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALRATE、LINEERR_CALLUNAVAIL、LINEERR_NOMEM、LINEERR_INUSE、LINEERR_NOTOWNER、LINEERR_INVALADDRESSMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALBEARERMODE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_RATEUNAVAIL、LINEERR_INVALCALLPARAMS、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALLINESTATE、LINEERR_INVALLINESTATE、LINEERR_UNINITIALIZED、LINEERR_INVALMEDIAMODE、LINEERR_USERUSERINFOTOOBIG、LINEERR_INVALPOINTER。
言論
lineSetupTransfer 函式會設定 hCall所指定的呼叫傳輸。 轉移的設定階段會建立諮詢電話,讓應用程式將目的地位址(要轉移的當事人)傳送到交換器,同時保留要轉移的通話。 這個新電話稱為諮詢電話(hConsultCall),可以卸除或操作,與原始通話無關。
當諮詢電話到達 撥號 通話狀態時,應用程式可以撥打目的地位址並追蹤其進度,或取消保留現有的通話,繼續轉移通話。 使用 lineCompleteTransfer完成對選取目的地的原始呼叫轉移。
雖然諮詢電話存在,但原始呼叫通常會轉換為 onholdPendingTransfer 狀態。 應用程式可以使用 lineSwapHold,在諮詢通話與原始通話之間切換。 可以叫用 行 來取消諮詢電話。 在卸除諮詢電話后,原始通話通常會轉換回 連線 狀態。 如果原始呼叫的呼叫狀態是 onholdPendingTransfer,則可以使用 lineUnhold 函式來復原呼叫。 在此情況下,諮詢通話的通話狀態會設定為 閑置。
應用程式也可以在單一步驟中轉移通話,而不必處理介入諮詢電話,方法是使用 lineBlindTransfer。
注意
tapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 lineSetupTransfer 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
| 要求 | 價值 |
|---|---|
| 目標平臺 | 窗戶 |
| 標頭 | tapi.h |
| 連結庫 | Tapi32.lib |
| DLL | Tapi32.dll |