共用方式為


lineForward 函式 (tapi.h)

lineForward 函式會根據指定的轉送指示,轉送指定之位址的呼叫。 當原始位址 (dwAddressID) 轉送時,該位址的指定連入呼叫會由 參數反轉為其他號碼。 此函式提供向前和不打擾功能的組合。 此函式也可以取消目前生效的轉送。

語法

LONG lineForward(
  HLINE                   hLine,
  DWORD                   bAllAddresses,
  DWORD                   dwAddressID,
  LPLINEFORWARDLIST const lpForwardList,
  DWORD                   dwNumRingsNoAnswer,
  LPHCALL                 lphConsultCall,
  LPLINECALLPARAMS const  lpCallParams
);

參數

hLine

線條裝置的句柄。

bAllAddresses

指定行上的所有原始位址,還是只指定要轉送的位址。 如果 為 TRUE,則會轉送行上的所有位址,並忽略 dwAddressID ;如果 為 FALSE,則只會轉送指定為 dwAddressID 的 位址。

dwAddressID

要轉送來電的指定行位址。 如果 bAllAddressesTRUE,則會忽略此參數。

位址標識符永久與地址相關聯;標識碼在操作系統升級之間維持不變。

lpForwardList

描述 LINEFORWARDLIST 類型之特定轉送指令之可變大小數據結構的指標。

dwNumRingsNoAnswer

呼叫前的通道數目會被視為「無答案」。如果 dwNumRingsNoAnswer 超出範圍,則實際值會設定為允許範圍內最接近的值。

lphConsultCall

HCALL 位置的指標。 在某些電話語音環境中,此位置會以諮詢通話的句柄載入,用來諮詢轉送給的合作物件,而應用程式會成為此通話的初始擁有者。 即使呼叫轉接不需要諮詢通話,此指標也必須有效。 如果未建立諮詢呼叫,此句柄會設定為 NULL

lpCallParams

LINECALLPARAMS 類型的結構的指標。 除非 lineForward 需要建立轉送目的地 (呼叫,並傳回 lphConsultCall ,否則會忽略此指標,在此情況下 ,lpCallParams 是選擇性) 。 如果 為 NULL,則會使用預設呼叫參數。 否則,會使用指定的呼叫參數來建立 hConsultCall

傳回值

如果函式是以異步方式完成,則傳回正要求標識碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功或發生錯誤,則對應LINE_REPLY訊息的 dwParam2 參數為零。 可能的傳回值為:

LINEERR_INVALLINEHANDLE、LINEERR_NOMEM、LINEERR_INVALADDRESSID、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALADDRESS、LINEERR_OPERATIONFAILED、LINEERR_INVALCOUNTRYCODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALPARAM、LINEERR_UNINITIALIZED。

備註

成功的轉送只會指出服務提供者已接受要求,而不是在交換器上設定轉送。 LINE_ADDRESSSTATE (轉送) 訊息會提供在交換器上設定轉送的確認。

) (位址轉送仍有效,直到再次呼叫此函式為止。 最新的轉送清單會取代舊的轉寄清單。 您可以將 NULL 指標指定為 lpForwardList 來取消轉送。 如果為轉送清單中的專案指定 NULL 目的地位址,則作業會做為不干擾。

地址的轉送狀態也可以受到外部影響;例如,透過交換器上的系統管理動作,或由另一個月臺的用戶執行。 服務提供者可能無法察覺此狀態變更,而且可能無法與交換器已知的轉送狀態保持同步。

因為服務提供者可能不知道「確定」位址的轉送狀態, (也就是說,它可能以未知) 的方式轉送或取消轉寄, 否則 lineForward 會成功,除非無法設定新的轉送指示。 換句話說,要求一次取消所有轉送,且沒有任何轉送生效。 這是因為沒有「不順向」—您只能變更先前的轉送指示集。

這項作業的成功或失敗不取決於先前的轉送指令集,而設定不同的轉送指令時則相同。 提供者在設定新的轉送指示之前,應該「不順向所有專案」。 由於這可能需要一段時間在模擬電話語音環境中,提供者可能也會想要比較目前的轉送與新的轉送,而且只會發出切換的指示,以進入最終狀態, (維持未變更的轉寄) 。

LINEFORWARDLIST 設定為零的 dwNumEntries 時叫用 lineForward 與提供 NULLlpForwardList 參數的效果相同。 它會取消目前生效的所有轉送。

規格需求

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

另請參閱

轉寄概觀

LINECALLPARAMS

LINEFORWARDLIST

LINE_ADDRESSSTATE

LINE_REPLY

增補線路服務函式

TAPI 2.2 參考概觀