Freigeben über


IViewObject::SetAdvise-Methode (oleidl.h)

Stellt eine Verbindung zwischen dem Ansichtsobjekt und einer Empfehlungssenke her, damit die Empfehlungssenke über Änderungen in der Ansicht des Objekts benachrichtigt werden kann.

Syntax

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

Parameter

[in] aspects

Ansicht, für die die Beratungsverbindung eingerichtet wird. Gültige Werte stammen aus der DVASPECT-Enumeration. Weitere Informationen finden Sie in der DVASPECT-Enumeration .

[in] advf

Enthält eine Gruppe von Flags zum Kontrollieren der Advise-Verbindung. Gültige Werte stammen aus der -Enumeration ADVF. Für diese Methode sind jedoch nur einige der möglichen ADVF-Werte relevant. In der folgenden Tabelle werden die relevanten Werte kurz beschrieben. Eine ausführlichere Beschreibung finden Sie in der ADVF-Enumeration .

Wert Bedeutung
ADVF_ONLYONCE
Bewirkt, dass die Empfehlungsverbindung nach dem Senden der ersten Benachrichtigung zerstört wird.
ADVF_PRIMEFIRST
Bewirkt, dass eine anfängliche Benachrichtigung gesendet wird, unabhängig davon, ob sich daten vom aktuellen Zustand geändert haben.
 
Hinweis Die ADVF_ONLYONCE und ADVF_PRIMEFIRST können kombiniert werden, um einen asynchronen Aufruf von IDataObject::GetData bereitzustellen.
 

[in] pAdvSink

Zeiger auf die IAdviseSink-Schnittstelle auf der Empfehlungssenke, die über Änderungen informiert werden soll. Ein NULL-Wert löscht jede vorhandene Empfehlungsverbindung.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
OLE_E_ADVISENOTSUPPORTED
Empfehlungsbenachrichtigungen werden nicht unterstützt.
DV_E_DVASPECT
Ungültiger Wert für dwAspect.
E_INVALIDARG
Mindestens einer der angegebenen Werte ist ungültig.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher für diesen Vorgang.

Hinweise

Eine Containeranwendung, die einen Zeichnungsvorgang für ein Ansichtsobjekt anfordert, kann sich auch bei der IViewObject::SetAdvise-Methode registrieren, um benachrichtigt zu werden, wenn sich die Darstellung des Ansichtsobjekts ändert. Um herauszufinden, wann sich die zugrunde liegenden Daten eines Objekts ändern, müssen Sie IDataObject::D Advise separat aufrufen.

Um eine vorhandene Empfehlungsverbindung zu entfernen, rufen Sie die IViewObject::SetAdvise-Methode auf, wobei pAdvSink auf NULL festgelegt ist.

Wenn sich das Ansichtsobjekt ändert, wird die entsprechende Empfehlungssenke über die IAdviseSink::OnViewChange-Methode aufgerufen.

Ein bestimmtes Ansichtsobjekt kann jederzeit nur eine Beratungsverbindung unterstützen. Wenn also IViewObject::SetAdvise aufgerufen wird und das View-Objekt bereits an einem Empfehlungssenkezeiger hält, gibt OLE den vorhandenen Zeiger frei, bevor der neue registriert wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oleidl.h

Weitere Informationen

ADVF

Iadvisesink

IViewObject

IViewObject::GetAdvise