ITTAPI::RegisterCallNotifications 方法 (tapi3if.h)
RegisterCallNotifications 方法會設定應用程式將接收的新呼叫通知。 應用程式必須針對每個位址呼叫 方法,指出可以處理的媒體類型或類型,以及指定其要求的許可權。
只會進行傳出呼叫的應用程式不需要呼叫這個方法。
呼叫此方法之前,必須先註冊 ITTAPIEventNotification 傳出介面。
如果位址需要擁有者和監視許可權,就應該只呼叫此方法一次, 並將 fMonitor 和 fOwner 都設定為 TRUE。
語法
HRESULT RegisterCallNotifications(
[in] ITAddress *pAddress,
[in] VARIANT_BOOL fMonitor,
[in] VARIANT_BOOL fOwner,
[in] long lMediaTypes,
[in] long lCallbackInstance,
[out] long *plRegister
);
參數
[in] pAddress
ITAddress 介面的指標。
[in] fMonitor
布爾值,指出應用程式是否會監視呼叫。 VARIANT_TRUE表示應用程式會監視呼叫;VARIANT_FALSE不會。
[in] fOwner
布爾值,指出應用程式是否會擁有傳入呼叫。 VARIANT_TRUE表示應用程式將擁有來電;VARIANT_FALSE表示不會。
[in] lMediaTypes
可由應用程式處理的媒體類型。
[in] lCallbackInstance
TAPI 3 DLL 要使用的回呼實例。 可以是 IConnectionPoint::Advise 在 ITTAPIEventNotification 傳出介面註冊期間所傳回的 gulAdvise 值。
[out] plRegister
成功時, ITTAPI::UnregisterNotifications 所使用的傳回值。
傳回值
這個方法可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
plRegister 參數不是有效的指標。 |
|
TAPI 物件尚未初始化。 |
|
記憶體不足,無法執行作業。 |
備註
如果在一個位址上使用此方法的多個呼叫,來自呼叫中樞的參與者呼叫相關信息可能會造成混淆,如果應用程式已經監視的呼叫已交給它。
RegisterCallNotifications 方法會將應用程式註冊為監視呼叫或接收屬於指定媒體類型的呼叫擁有權。 這些呼叫許可權是在 fMonitor 和 fOwner 參數中設定。 應用程式可以指定多個旗標來處理多個媒體類型。 如果多個應用程式註冊相同的位址和媒體類型,可能會發生衝突。 這些衝突的解決方式是優先順序配置,用戶會將相對優先順序指派給應用程式。 用戶可以呼叫 ITTAPI::SetApplicationPriority 函式來設定應用程式優先順序。 只有指定媒體類型的最高優先順序應用程式會收到 (該媒體類型呼叫的未經要求) 擁有權。 當來電第一次送達或接聽通話時,可以接收擁有權。 會呼叫 ITBasicCallControl::HandoffDirect 和 ITBasicCallControl::HandoffIndirect 函式,以將呼叫的擁有權交給另一個應用程式。 如果使用者未將優先順序指派給應用程式,且多個應用程式預設會開啟同一行裝置,則呼叫 RegisterCallNotifications 的應用程式會先具有最高的優先順序。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tapi3if.h (包括 Tapi3.h) |
程式庫 | Uuid.lib |
Dll | Tapi3.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應