ITTAPI::RegisterCallNotifications 方法 (tapi3if.h)

RegisterCallNotifications 方法會設定應用程式將接收的新呼叫通知。 應用程式必須針對每個位址呼叫 方法,指出可以處理的媒體類型或類型,以及指定其要求的許可權。

只會進行傳出呼叫的應用程式不需要呼叫這個方法。

呼叫此方法之前,必須先註冊 ITTAPIEventNotification 傳出介面。

如果位址需要擁有者和監視許可權,就應該只呼叫此方法一次, 並將 fMonitorfOwner 都設定為 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::AdviseITTAPIEventNotification 傳出介面註冊期間所傳回的 gulAdvise 值。

[out] plRegister

成功時, ITTAPI::UnregisterNotifications 所使用的傳回值。

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK
方法成功。
E_POINTER
plRegister 參數不是有效的指標。
TAPI_E_NOT_INITIALIZED
TAPI 物件尚未初始化。
E_OUTOFMEMORY
記憶體不足,無法執行作業。

備註

如果在一個位址上使用此方法的多個呼叫,來自呼叫中樞的參與者呼叫相關信息可能會造成混淆,如果應用程式已經監視的呼叫已交給它。

RegisterCallNotifications 方法會將應用程式註冊為監視呼叫或接收屬於指定媒體類型的呼叫擁有權。 這些呼叫許可權是在 fMonitorfOwner 參數中設定。 應用程式可以指定多個旗標來處理多個媒體類型。 如果多個應用程式註冊相同的位址和媒體類型,可能會發生衝突。 這些衝突的解決方式是優先順序配置,用戶會將相對優先順序指派給應用程式。 用戶可以呼叫 ITTAPI::SetApplicationPriority 函式來設定應用程式優先順序。 只有指定媒體類型的最高優先順序應用程式會收到 (該媒體類型呼叫的未經要求) 擁有權。 當來電第一次送達或接聽通話時,可以接收擁有權。 會呼叫 ITBasicCallControl::HandoffDirectITBasicCallControl::HandoffIndirect 函式,以將呼叫的擁有權交給另一個應用程式。 如果使用者未將優先順序指派給應用程式,且多個應用程式預設會開啟同一行裝置,則呼叫 RegisterCallNotifications 的應用程式會先具有最高的優先順序。

規格需求

需求
目標平台 Windows
標頭 tapi3if.h (包括 Tapi3.h)
程式庫 Uuid.lib
Dll Tapi3.dll

另請參閱

事件概觀

ITCallNotificationEvent

ITTAPI

ITTAPIEventNotification

註冊事件代碼段

TAPI 物件