lineSetTerminal 函式 (tapi.h)
lineSetTerminal 函式可讓應用程式指定要路由傳送與指定行、位址或呼叫相關的終端機資訊。 當呼叫正在進行時,可以使用 lineSetTerminal 函 式,讓應用程式視需要將這些事件路由傳送至不同的裝置。
語法
LONG lineSetTerminal(
HLINE hLine,
DWORD dwAddressID,
HCALL hCall,
DWORD dwSelect,
DWORD dwTerminalModes,
DWORD dwTerminalID,
DWORD bEnable
);
參數
hLine
開啟行裝置的控制碼。
dwAddressID
指定開啟行裝置上的位址。 位址識別碼會永久與位址相關聯;識別碼在作業系統升級期間會維持不變。
hCall
呼叫的控制碼。 如果dwSelect是 CALL,hCall的撥號狀態可以是任何狀態。
dwSelect
終端機設定是針對該行、位址或只要求指定的呼叫。 如果指定行或位址,事件會套用至該行或位址本身,或做為行或位址上所有新呼叫的預設初始設定。 此參數使用其中一個 LINECALLSELECT_常數。
dwTerminalModes
要路由傳送至指定終端機之低階事件的類別。 此參數使用一或多個 LINETERMMODE_常數。
dwTerminalID
要路由傳送指定事件之終端機裝置的裝置識別碼。 終端機識別碼是零到小於dwNumTerminals 的小型整數,其中 dwNumTerminals和終端機模式每個終端機都能夠處理,會由lineGetDevCaps傳回。
這些終端機識別碼與其他裝置識別碼沒有關聯,而且是由服務提供者使用裝置功能來定義。
bEnable
如果 為 TRUE, dwTerminalID 是有效的,而且指定的事件類別會路由至該終端機或從該終端機路由傳送。 如果 為 FALSE,這些事件不會路由傳送至識別碼等於 dwTerminalID的終端機裝置或從終端機裝置路由傳送。
傳回值
如果函式是以非同步方式完成,則傳回正要求識別碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功,則對應LINE_REPLY訊息的dwParam2參數為零,如果發生錯誤,則為負錯誤號碼。 可能的傳回值為:
LINEERR_INVALADDRESSID、LINEERR_NOMEM、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSELECT、LINEERR_OPERATIONFAILED、LINEERR_INVALLINEHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALTERMINALID、LINEERR_UNINITIALIZED LINEERR_INVALTERMINALMODE。
備註
應用程式可以使用此函式,將特定類別的低階線路事件路由至指定的終端機裝置,或隱藏這些事件的路由。 例如,語音可以路由傳送至音訊 I/O 裝置 (頭戴式裝置) ,也可以路由傳送至本機手機裝置,也可以完全隱藏按鈕事件和響鈴事件。
即使指定線路裝置上的呼叫作用中,隨時都可以呼叫此函式。 這可讓使用者使用將本機手機設定為另一個音訊 I/O 裝置切換。 您可以多次呼叫此函式,同時將相同的事件路由傳送至多個終端機。 若要將事件重新路由至不同的終端機,應用程式應該先停用路由至現有的終端機,然後將事件路由至新的終端機。
終端機識別碼指派是由行的服務提供者所組成。 裝置功能只會指出服務提供者可用的終端機識別碼。 不支援這種事件路由的服務提供者表示它們沒有終端設備, (LINEDEVCAPS中的dwNumTerminals會是零) 。
叫用行或位址上的 lineSetTerminal 會影響該行或位址上所有現有的呼叫,但不會影響其他位址上的呼叫。 它也會設定該行或位址上未來呼叫的預設值。 一次有多個已連線通話的行或位址,可能會針對每個通話有不同的路由。
當這些事件目前未路由傳送到該終端機或從該終端機路由傳送時,停用低階事件的路由,不一定會產生錯誤,只要函式成功 (指定的事件不會路由傳送到該終端機) 。
TAPI 會將呼叫進度音調和訊息路由傳送至 lineSetTerminal 函式 針對 「media」 所設定的相同位置。 例如,如果音訊訊號會前往手機,那麼忙碌的訊號會 (類比) 或 Q.931 訊息,指出忙碌 (數位) 。
規格需求
目標平台 | Windows |
標頭 | tapi.h |
程式庫 | Tapi32.lib |
Dll | Tapi32.dll |