Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Позволяет контейнерам и другим объектам получать уведомления об изменениях данных, просматривать изменения и составные изменения документов, происходящие в интересующих объектах. Например, приложениям-контейнерам требуются такие уведомления, чтобы поддерживать кэшированные презентации связанных и внедренных объектов в актуальном состоянии. Вызовы методов IAdviseSink являются асинхронными, поэтому вызов отправляется, а затем выполняется следующая инструкция, не дожидаясь возврата вызова.
Для создания консультативного подключения объект, который получает уведомления, должен реализовывать IAdviseSink, а объекты, в которых он заинтересован, должны реализовывать IOleObject::Advise и IDataObject::D Advise. Внутрипроцессные объекты и обработчики также могут реализовывать IViewObject::SetAdvise. Объекты, реализующие IOleObject , должны поддерживать все разумные методы рекомендаций. Чтобы упростить уведомления о рекомендациях, OLE предоставляет реализации IDataAdviseHolder и IOleAdviseHolder, которые отслеживают подключения рекомендаций и отправляют уведомления в соответствующие приемники через указатели на интерфейсы IAdviseSink . IViewObject (и его методы рекомендаций) реализован в обработчике по умолчанию.
Как показано в следующей таблице, объект, реализующий приемник рекомендаций, регистрирует свою заинтересованность в получении определенных типов уведомлений путем вызова соответствующего метода.
| Вызов этого метода | Регистрация для получения этих уведомлений |
|---|---|
| IOleObject::Advise | При сохранении, закрытии или переименовании документа. |
| IDataObject::D Advise | При изменении данных документа. |
| IViewObject::SetAdvise | При изменении представления документа. |
При возникновении события, применимого к зарегистрированным типу уведомлений, приложение объекта вызывает соответствующий метод IAdviseSink . Например, когда внедренный объект закрывается, он вызывает метод IAdviseSink::OnClose для уведомления своего контейнера. Эти уведомления являются асинхронными и происходят после событий, которые их активируют.
Наследование
Интерфейс IAdviseSink наследуется от интерфейса IUnknown . IAdviseSink также имеет следующие типы элементов:
Методы
Интерфейс IAdviseSink содержит следующие методы.
|
IAdviseSink::OnClose Вызывается сервером для уведомления всех зарегистрированных приемников рекомендаций о том, что объект изменился из запущенного в загруженное состояние. |
|
IAdviseSink::OnDataChange Вызывается сервером для уведомления объекта данных, зарегистрированного в настоящее время, сообщает приемникам, что данные в объекте изменились. |
|
IAdviseSink::OnRename Вызывается сервером для уведомления всех зарегистрированных приемников рекомендаций о переименовании объекта. |
|
IAdviseSink::OnSave Вызывается сервером для уведомления всех зарегистрированных приемников рекомендаций о сохранении объекта. |
|
IAdviseSink::OnViewChange Уведомляет зарегистрированные приемники рекомендаций объекта о том, что его представление изменилось. |
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | objidl.h |