Método IOleObject::Advise (oleidl.h)

Establece una conexión de asesoramiento entre un objeto de documento compuesto y el receptor de avisos del objeto que realiza la llamada, a través del cual el objeto que realiza la llamada recibe una notificación cuando se cambia el nombre, se guarda o se cierra el objeto de documento compuesto.

Sintaxis

HRESULT Advise(
  [in]  IAdviseSink *pAdvSink,
  [out] DWORD       *pdwConnection
);

Parámetros

[in] pAdvSink

Puntero a la interfaz IAdviseSink en el receptor de aviso del objeto que llama.

[out] pdwConnection

Puntero a un token que se puede pasar a IOleObject::Unadvise para eliminar la conexión de asesoramiento.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.

Código devuelto Descripción
E_OUTOFMEMORY
Memoria insuficiente disponible para esta operación.

Comentarios

El método IOleObject::Advise configura una conexión de asesoramiento entre un objeto y su contenedor, a través del cual el objeto informa al receptor de avisos del receptor de cierre, guardado, cambio de nombre y origen de vínculo en el objeto. Un contenedor llama a este método, normalmente como parte de la inicialización de un objeto, para registrar su receptor de asesoramiento con el objeto . A cambio, el objeto envía las notificaciones del contenedor compound-document llamando a IAdviseSink o IAdviseSink2.

Si el contenedor y el objeto establecen correctamente una conexión de asesoramiento, el objeto que recibe la llamada devuelve un valor distinto de cero a través de pdwConnection al contenedor. Si se produce un error en el intento de establecer una conexión de asesoramiento, el objeto devuelve cero. Para eliminar una conexión de asesoramiento, el contenedor llama a IOleObject::Unadvise y vuelve a pasar este token distinto de cero al objeto.

Un objeto puede delegar el trabajo de administrar y realizar el seguimiento de eventos de asesoramiento a un titular de asesoramiento OLE, al que se obtiene un puntero mediante una llamada a CreateOleAdviseHolder. La interfaz IOleAdviseHolder devuelta tiene tres métodos para enviar notificaciones de asesoramiento, así como IOleAdviseHolder::Advise, IOleAdviseHolder::Unadvise y IOleAdviseHolder::EnumAdvise métodos idénticos a los de IOleObject. Las llamadas a IOleObject::Advise, IOleObject::Unadvise o IOleObject::EnumAdvise se delegan a los métodos correspondientes del titular del aviso.

Para destruir al titular del aviso, simplemente llame a IUnknown::Release en la interfaz IOleAdviseHolder .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleidl.h

Consulte también

CreateOleAdviseHolder

IOleAdviseHolder::Advise

IOleObject

IOleObject::EnumAdvise

IOleObject::Unadvise