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_COMPLETIONlResult 實際參數為零,如果發生錯誤,則為錯誤號碼。 可能的傳回值如下所示:

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

另請參閱

ASYNC_COMPLETION

LINECALLPARAMS

LINEDEVSTATUS

LINEEVENT

LINE_CALLSTATE

TSPI_lineAddToConference

TSPI_lineDial

TSPI_lineDrop

TSPI_lineRemoveFromConference

TSPI_lineSetupConference

TSPI_lineSwapHold