lineCompleteTransfer 函式 (tapi.h)
lineCompleteTransfer 函式會完成在諮詢呼叫中聯機之合作物件的指定呼叫轉移。
語法
LONG lineCompleteTransfer(
HCALL hCall,
HCALL hConsultCall,
LPHCALL lphConfCall,
DWORD dwTransferMode
);
參數
hCall
要轉移之呼叫的句柄。 應用程式必須是此呼叫的擁有者。 hCall 的呼叫狀態必須是 onHold 或 onHoldPendingTransfer。
hConsultCall
呼叫的句柄,表示與傳輸目的地的連線。 應用程式必須是此呼叫的擁有者。 hConsultCall 的呼叫狀態必須已連線、迴響、忙碌或繼續。
lphConfCall
可傳回 hCall 句柄的記憶體位置指標。 如果 dwTransferMode 是LINETRANSFERMODE_CONFERENCE,則會在 lphConfCall 中傳回新建立的會議通話,而應用程式會成為會議通話的唯一擁有者。 否則,TAPI 會忽略此參數。
dwTransferMode
如何解析起始的傳輸要求。 此參數使用其中一個 LINETRANSFERMODE_常數。
傳回值
如果函式是以異步方式完成,則傳回正要求標識碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功或發生錯誤,則對應LINE_REPLY訊息的 dwParam2 參數為零。 可能的傳回值為:
LINEERR_INVALCALLHANDLE、LINEERR_NOTOWNER、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCONSULTCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALTRANSFERMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_UNINITIALIZED LINEERR_NOMEM。
備註
回應 lineCompleteTransfer 函式呼叫時所傳送LINE_REPLY訊息是根據 hCall 參數所指定的呼叫狀態。
此作業會完成原始呼叫 hCall 的傳輸至 目前由 hConsultCall 連線的合作物件。 諮詢通話通常會在 配置為lineSetupTransfer一部分的諮詢通話上撥打,但該呼叫可以是交換器能夠傳輸 hCall的任何呼叫。
轉移要求可以解析為轉移或三向會議通話。 當解析為傳輸時, 由 hCall 和 hConsultCall 連線的合作物件會彼此連線,而且 hCall 和 hConsultCall 通常會從應用程式的行清除,並轉換為 閑置 狀態。 完成傳輸之後,應用程式的呼叫句柄仍有效。 當應用程式不再對已轉移的呼叫感興趣時,必須使用 lineDeallocateCall 解除分配其句柄。
當解析為會議時,所有三方都會進入會議通話。 現有的通話句柄都維持有效狀態,但轉換至 會議 狀態。 會議通話句柄會建立並傳回,並轉換為 已連線 狀態。
如果 lineGetConfRelatedCalls 緊接在 lineCompleteTransfer 之後呼叫,且呼叫結果為會議, lineGetConfRelatedCalls 可能不會傳回相關呼叫的完整清單。 這是因為 TAPI 會等候收到 一則LINE_CALLSTATE 訊息,指出通話已進入LINECALLSTATE_CONFERENCED,然後再將通話視為會議的實際一部分。 也就是說,它會等候服務提供者確認會議狀態。 應用程式收到LINE_CALLSTATE訊息之後, lineGetConfRelatedCalls 會傳回完整的資訊。
您也可以使用 lineBlindTransfer執行通話的盲目傳輸。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tapi.h |
程式庫 | Tapi32.lib |
Dll | Tapi32.dll |