Поделиться через


Уведомление о событии

Уведомление о событиях является основным средством, с помощью которого приложение получает информацию от TAPI и поставщиков услуг. Эти сведения могут быть состоянием асинхронной операции, инициированной приложением, или могут касаться процесса, запущенного за пределами приложения, например уведомления о новых входящих вызовах.

TAPI 2.x: Приложения обрабатывают уведомления одним из трех способов: скрытое окно, дескриптор событий или порт завершения. Дополнительные сведения об этих механизмах уведомлений см. в разделе Примечания для lineInitializeEx. Приложение задает механизм, задавая член dwOptions структуры LINEINITIALIZEEXPARAMS перед вызовом lineInitializeEx.

Функция lineSetStatusMessages позволяет приложению указать, какие уведомления следует получать для событий, связанных с изменением состояния указанной строки или любого из ее адресов.

TAPI 3.x: Приложения обрабатывают общие уведомления с помощью стандартных подключаемых объектов COM. ITTAPIEventNotification — это исходящий интерфейс, который должен быть зарегистрирован в объекте контейнера TAPI, а ITTAPIEventNotification::Event — это метод, который вызывает TAPI для определения ответа приложения. Метод ITTAPI::p ut_EventFilter сообщает TAPI, какие события представляют интерес для приложения. Если фильтр событий не введен, приложение не будет получать уведомления о каких-либо событиях. Метод ITTAPI::RegisterCallNotifications сообщает TAPI типы мультимедиа и адреса, для которых приложение будет обрабатывать входящие сеансы. Дополнительные сведения об обработке событий TAPI 3 см. в обзоре событий или в примере кода регистрации событий .

Поставщики услуг телефонии реализуют TSPI_lineSetDefaultMediaDetection и TSPI_lineSetStatusMessages. TAPI вызывает эти функции, чтобы указать набор всех событий строк, адресов и типов мультимедиа, запрашиваемых приложениями.