Метод IViewObject::SetAdvise (oleidl.h)

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

Синтаксис

HRESULT SetAdvise(
  [in] DWORD       aspects,
  [in] DWORD       advf,
  [in] IAdviseSink *pAdvSink
);

Параметры

[in] aspects

Просмотр, для которого настраивается консультативное подключение. Допустимые значения берутся из перечисления DVASPECT. Дополнительные сведения см. в перечислении DVASPECT .

[in] advf

Содержит группу флагов для управления подключением для получения рекомендаций. Допустимые значения из перечисления ADVF. Однако только некоторые из возможных значений ADVF относятся к этому методу. В следующей таблице кратко описаны соответствующие значения. Более подробное описание см. в перечислении ADVF .

Значение Значение
ADVF_ONLYONCE
Вызывает уничтожение консультативного подключения после отправки первого уведомления.
ADVF_PRIMEFIRST
Вызывает отправку начального уведомления независимо от того, изменилось ли текущее состояние данных.
 
Примечание ADVF_ONLYONCE и ADVF_PRIMEFIRST можно объединить для асинхронного вызова IDataObject::GetData.
 

[in] pAdvSink

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

Возвращаемое значение

Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
OLE_E_ADVISENOTSUPPORTED
Уведомления о рекомендациях не поддерживаются.
DV_E_DVASPECT
Недопустимое значение для dwAspect.
E_INVALIDARG
Одно или несколько предоставленных значений являются недопустимыми.
E_OUTOFMEMORY
Недостаточно доступной памяти для этой операции.

Комментарии

Контейнерное приложение, запрашивающее операцию рисования в объекте представления, также может зарегистрировать с помощью метода IViewObject::SetAdvise , чтобы получать уведомления при изменении представления объекта представления. Чтобы узнать, когда изменяются базовые данные объекта, необходимо вызвать IDataObject::D Advise отдельно.

Чтобы удалить существующее консультативное подключение, вызовите метод IViewObject::SetAdvise с параметром pAdvSink со значением NULL.

Если объект представления изменяется, вызывается соответствующий приемник рекомендаций с помощью метода IAdviseSink::OnViewChange .

В любой момент объект представления может поддерживать только одно консультативное подключение. Поэтому при вызове метода IViewObject::SetAdvise и объект представления уже удерживает указатель приемника рекомендаций, OLE освобождает существующий указатель до регистрации нового.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header oleidl.h

См. также раздел

ADVF

IAdviseSink

IViewObject

IViewObject::GetAdvise