linePickup 函式 (tapi.h)
linePickup 函式會在指定的目的地地址挑選呼叫警示,並傳回所挑選呼叫的呼叫句柄。 如果使用 NULL 叫用 lpszDestAddress 參數,則會執行群組取貨。 如果裝置需要, lpszGroupID 會指定警示站所屬的群組標識符。
語法
LONG linePickup(
HLINE hLine,
DWORD dwAddressID,
LPHCALL lphCall,
LPCSTR lpszDestAddress,
LPCSTR lpszGroupID
);
參數
hLine
要接聽通話的開啟行裝置句柄。
dwAddressID
要產生取貨的 hLine 位址。 位址標識符會永久與地址相關聯;標識碼在操作系統升級期間會維持不變。
lphCall
傳回所挑選呼叫句柄的記憶體位置指標。 應用程式是呼叫的初始唯一擁有者。
lpszDestAddress
Null 終止字元緩衝區的指標,其中包含要挑選其呼叫的位址。 位址是標準可撥號位址格式。
lpszGroupID
Null 終止字元緩衝區的指標,其中包含警示站所屬的群組標識符。 有些參數需要此參數,才能在目前的取貨群組之外接聽通話。
您可以使用 lpszDestAddress 的 NULL 指標自行指定 lpszGroupID 參數。 或者,如果裝置需要,除了 lpszDestAddress 之外,還可以指定 lpszGroupID。
傳回值
如果函式是以異步方式完成,則傳回正要求標識碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功,則對應LINE_REPLY訊息的 dwParam2 參數為零,如果發生錯誤,則為負錯誤號碼。 可能的傳回值為:
LINEERR_INVALADDRESS、LINEERR_NOMEM、LINEERR_INVALADDRESSID、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALGROUPID、LINEERR_OPERATIONFAILED、LINEERR_INVALLINEHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER LINEERR_UNINITIALIZED。
備註
成功接聽呼叫時,應用程式會收到 LINE_CALLSTATE 有關呼叫狀態變更的訊息通知。 LINECALLINFO 結構會提供所挑選呼叫的相關信息。 它會將通話列為 取貨的原因。 此結構可使用 lineGetCallInfo。
如果LINEADDRCAPFLAGS_PICKUPCALLWAIT為 TRUE,linePickup 可用來挑選使用者偵測到呼叫等候訊號,但提供者無法執行偵測的通話。 這可讓使用者「接聽」等候通話的機制,即使服務提供者無法偵測到呼叫等候訊號。 lpszDestAddress 和 lpszGroupID 指標參數都必須是 NULL,才能接聽呼叫等候的呼叫。 linePickup 函式會建立等候呼叫的新呼叫句柄,並將該句柄傳遞給使用者。 dwAddressID 參數通常是零 (特別是在單行住宅案例中) 。
使用linePickup來接聽第二次呼叫之後,lineSwapHold 可以用來在兩者之間切換。 lineDrop 函式可用來卸除一個 (,並切換至另一個) 等等。 如果使用者想要卸除目前的通話並接聽第二個通話,他們應該在收到等候呼叫的嗶聲時呼叫 lineDrop 、等候第二個通話來響鈴,然後在新的呼叫句柄上呼叫 lineAnswer 。 LINEADDRESSSTATUS中 dwAddressFeatures 成員中的LINEADDRFEATURE_PICKUP旗標表示實際可能取貨時間。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tapi.h |
程式庫 | Tapi32.lib |
Dll | Tapi32.dll |