Метод 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
Экземпляр обратного вызова, используемый библиотекой DLL TAPI 3. Может быть значением gulAdvise, возвращаемым IConnectionPoint::Advise при регистрации исходящего интерфейса ITTAPIEventNotification .
[out] plRegister
При успешном выполнении возвращается значение, используемое ITTAPI::UnregisterNotifications.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Метод успешно выполнен. |
|
Параметр plRegister не является допустимым указателем. |
|
Объект TAPI не инициализирован. |
|
Для выполнения операции недостаточно памяти. |
Комментарии
Если по одному адресу используется несколько вызовов этого метода, сведения о вызовах участников из концентратора вызовов могут запутать, если ему передается вызов, который уже отслеживается приложением.
Метод RegisterCallNotifications регистрирует приложение как заинтересованное в мониторинге вызовов или получение прав собственности на вызовы, которые относятся к указанным типам носителей. Эти привилегии вызова задаются в параметрах fMonitor и fOwner . Приложение может указать несколько флагов для обработки нескольких типов мультимедиа. Конфликты могут возникнуть, если несколько приложений регистрируются для одного и того же адреса и типа носителя. Эти конфликты разрешаются схемой приоритета, в которой пользователь назначает приложениям относительные приоритеты. Пользователи могут задавать приоритеты приложений, вызывая функцию ITTAPI::SetApplicationPriority . Только приложение с наивысшим приоритетом для данного типа мультимедиа получит право владения (незапрашиваемого) вызова этого типа мультимедиа. Владение может быть получено при первом поступлении входящего звонка или при отправке звонка. Функции ITBasicCallControl::HandoffDirect и ITBasicCallControl::HandoffIndirect вызываются для передачи права владения вызовом другому приложению. Если пользователь не назначает приоритеты приложению и несколько приложений открывают одно и то же линейное устройство, по умолчанию приложение, которое сначала назвало RegisterCallNotifications , будет иметь наивысший приоритет.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | tapi3if.h (включая Tapi3.h) |
Библиотека | Uuid.lib |
DLL | Tapi3.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по