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的任何呼叫。

轉移要求可以解析為轉移或三向會議通話。 當解析為傳輸時, 由 hCallhConsultCall 連線的合作物件會彼此連線,而且 hCallhConsultCall 通常會從應用程式的行清除,並轉換為 閑置 狀態。 完成傳輸之後,應用程式的呼叫句柄仍有效。 當應用程式不再對已轉移的呼叫感興趣時,必須使用 lineDeallocateCall 解除分配其句柄。

當解析為會議時,所有三方都會進入會議通話。 現有的通話句柄都維持有效狀態,但轉換至 會議 狀態。 會議通話句柄會建立並傳回,並轉換為 已連線 狀態。

如果 lineGetConfRelatedCalls 緊接在 lineCompleteTransfer 之後呼叫,且呼叫結果為會議, lineGetConfRelatedCalls 可能不會傳回相關呼叫的完整清單。 這是因為 TAPI 會等候收到 一則LINE_CALLSTATE 訊息,指出通話已進入LINECALLSTATE_CONFERENCED,然後再將通話視為會議的實際一部分。 也就是說,它會等候服務提供者確認會議狀態。 應用程式收到LINE_CALLSTATE訊息之後, lineGetConfRelatedCalls 會傳回完整的資訊。

您也可以使用 lineBlindTransfer執行通話的盲目傳輸。

規格需求

需求
目標平台 Windows
標頭 tapi.h
程式庫 Tapi32.lib
Dll Tapi32.dll

另請參閱

LINE_CALLSTATE

LINE_REPLY

增補線路服務函式

TAPI 2.2 參考概觀

傳輸概觀

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer