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) |
Library | Uuid.lib |
DLL | Tapi3.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈