TSPI_linePrepareAddToConference函式 (tspi.h)
TSPI_linePrepareAddToConference函式會為另一方新增準備現有的會議通話。 它會建立新的暫時諮詢通話。 後續可以將新的諮詢通話新增至會議通話。
語法
LONG TSPIAPI TSPI_linePrepareAddToConference(
DRV_REQUESTID dwRequestID,
HDRVCALL hdConfCall,
HTAPICALL htConsultCall,
LPHDRVCALL lphdConsultCall,
LPLINECALLPARAMS const lpCallParams
);
參數
dwRequestID
異步要求的標識碼。
hdConfCall
通話的句柄。 hdConfCall 的呼叫狀態可以連線。
htConsultCall
新暫時諮詢通話的 TAPI 句柄。 服務提供者必須儲存此專案,並將其用於新呼叫上報告事件的所有後續 LINEEVENT 過程呼叫中。 hdAddCall 的呼叫狀態不適用。
lphdConsultCall
HDRVCALL 的指標,代表新暫時諮詢呼叫的服務提供者標識符。 服務提供者必須在這個程式傳回之前,以新呼叫的句柄填滿這個位置。 如果函式產生錯誤,則此句柄無效。
lpCallParams
LINECALLPARAMS 的指標,其中包含建立諮詢通話時要使用的呼叫參數。 如果不需要任何特殊呼叫安裝參數,此參數就會設定為 NULL 。
傳回值
傳回 dwRequestID,如果發生錯誤,則傳回錯誤號碼。 如果函式成功,則對應ASYNC_COMPLETION的 lResult 實際參數為零,如果發生錯誤,則為錯誤號碼。 可能的傳回值如下所示:
LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALLINESTATE、LINEERR_CALLUNAVAIL、LINEERR_INVALMEDIAMODE、LINEERR_CONFERENCEFULL、LINEERR_INVALRATE、LINEERR_INUSE、LINEERR_NOMEM、LINEERR_INVALADDRESSMODE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALBEARERMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALCALLPARAMS、LINEERR_RATEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCONFCALLHANDLE LINEERR_USERUSERINFOTOOBIG。
備註
如果行目前不是可執行此作業的狀態,則服務提供者會傳回LINEERR_INVALLINESTATE。 服務提供者必須指出LINEDEVSTATUS結構中LINEFEATUR) E 類型之 dwLineFeatures成員 (中目前有效的作業清單。
如果會議通話不是要求作業的有效狀態,服務提供者會傳回LINEERR_INVALCALLSTATE。
此函式會將現有的會議通話置於 onHoldPendingConference 狀態,並建立稍後可新增至具有 TSPI_lineAddToConference之現有會議通話的諮詢通話。
您可以使用 TSPI_lineDrop取消諮詢通話。 TAPI 也可以透過 TSPI_lineSwapHold,在諮詢通話與保留的會議通話之間進行交換。 服務提供者一開始會在新呼叫上執行媒體監視,至少針對一行上監視的一組媒體類型執行媒體監視。
此函式與對應的 TAPI 函式不同,因為它遵循 TSPI 模型開始呼叫的存留期。 TAPI 和服務提供者交換不透明句柄,代表彼此的呼叫。 此外,服務提供者可以在從這個程式傳回之前,先對新呼叫執行回呼。 在任何情況下,服務提供者也必須將傳回的句柄視為「尚未有效」,直到比對 ASYNC_COMPLETION 訊息報告成功為止。 換句話說,它不得針對新呼叫發出任何 LINEEVENT 訊息,或將它包含在該行的訊息或狀態數據結構中的呼叫計數中。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tspi.h |