Метод IDataAdviseHolder::Advise (objidl.h)
Создает соединение между приемником рекомендаций и объектом данных для получения уведомлений.
Синтаксис
HRESULT Advise(
[in] IDataObject *pDataObject,
[in] FORMATETC *pFetc,
[in] DWORD advf,
[in] IAdviseSink *pAdvise,
[out] DWORD *pdwConnection
);
Параметры
[in] pDataObject
Указатель на интерфейс IDataObject объекта данных, для которого запрашиваются уведомления. Если данные в этом объекте изменяются, уведомление отправляется приемникам рекомендаций, которые запросили уведомление.
[in] pFetc
Указатель на структуру FORMATETC , содержащую указанный формат, среду и целевое устройство, представляющее интерес для приемника рекомендаций, запрашивающего уведомление. Например, одному приемнику может требоваться знать только об изменениях в растровом представлении данных в объекте данных. Другой приемник может быть заинтересован только в формате метафайла того же объекта. Каждый приемник уведомлений уведомляется при изменении интересующих его данных. Эти данные передаются назад в приемник уведомлений при возникновении уведомления.
[in] advf
Группа флагов, управляющих соединением рекомендаций. Возможные значения из перечисления ADVF . Однако только некоторые из возможных значений ADVF относятся к этому методу. В следующей таблице кратко описаны соответствующие значения. Более подробное описание можно найти в описании перечисления ADVF .
Значение | Значение |
---|---|
|
Запрашивает, чтобы данные не отправлялись вместе с уведомлением. |
|
Вызывает уничтожение консультативного подключения после отправки первого уведомления. Неявный вызов метода IDataAdviseHolder::Unadvise выполняется от имени вызывающей стороны для удаления подключения. |
|
Вызывает отправку начального уведомления независимо от того, изменилось ли текущее состояние данных. |
|
При указании с помощью ADVF_NODATA этот флаг вызывает отправку последнего уведомления с включенными данными перед уничтожением объекта данных. Если ADVF_NODATA не указан, этот флаг не действует. |
[in] pAdvise
Указатель на интерфейс IAdviseSink в приемнике рекомендаций, который получает уведомление об изменении.
[out] pdwConnection
Указатель на переменную, получающую маркер, идентифицирующий это соединение. Вызывающий объект может позже удалить консультативное подключение, передав этот маркер в IDataAdviseHolder::Unadvise. Если это значение равно нулю, соединение не было установлено.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении.
Комментарии
Через подключение, установленное с помощью этого метода, приемник рекомендаций может получать будущие уведомления в вызове IAdviseSink::OnDataChange.
Объект вызывает IDataObject::D Advise для запроса уведомления об изменениях формата, среды или целевого устройства. Эти данные указываются в параметре pFormatetc . Метод DAdvise обычно реализуется для вызова метода IDataAdviseHolder::Advise , чтобы делегировать задачу настройки и отслеживания подключения владельцу рекомендаций. При изменении формата, среднего или целевого устройства объект данных вызывает IDataAdviseHolder::SendOnDataChange для отправки необходимых уведомлений.
Установленное подключение можно удалить, передав значение в pdwConnection в вызове метода IDataAdviseHolder::Unadvise.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | objidl.h |