Как работают уведомления
Уведомления возникают в приложении объекта и потоке в контейнер посредством обработчика объектов. Если объект является связанным объектом, связанный объект перехватывает уведомления из обработчика объектов и уведомляет контейнер напрямую.
Приложение объекта должно управлять запросами на регистрацию, отслеживать, где отправлять уведомления и отправлять эти уведомления при необходимости. OLE предоставляет два объекта компонента для упрощения этой задачи: OleAdviseHolder для уведомлений о составных документах и DataAdviseHolder для уведомлений о данных.
Приложения объектов определяют условия, которые запрашивают отправку каждого конкретного уведомления и частоту отправки каждого уведомления. Если оно подходит для отправки нескольких уведомлений, оно не имеет значения, какое уведомление отправляется первым; их можно отправлять в любом порядке.
Время уведомлений влияет на производительность и координацию между приложением объекта и его контейнерами. В то время как уведомления отправляются слишком часто медленной обработкой, уведомления, отправленные слишком редко, приводят к выходу из-за синхронизации контейнера. Частоту уведомлений можно сравнить с частотой переопределений приложения. Таким образом, использование аналогичной логики для времени уведомлений (как используется для переопределений) является мудрым.
См. также