Método IDataAdviseHolder::Advise (objidl.h)

Crea una conexión entre un receptor de asesoramiento y un objeto de datos para recibir notificaciones.

Sintaxis

HRESULT Advise(
  [in]  IDataObject *pDataObject,
  [in]  FORMATETC   *pFetc,
  [in]  DWORD       advf,
  [in]  IAdviseSink *pAdvise,
  [out] DWORD       *pdwConnection
);

Parámetros

[in] pDataObject

Puntero a la interfaz IDataObject en el objeto de datos para el que se solicitan notificaciones. Si los datos de este objeto cambian, se envía una notificación a los receptores de avisos que han solicitado la notificación.

[in] pFetc

Puntero a una estructura FORMATETC que contiene el formato, el medio y el dispositivo de destino especificados que es de interés para el receptor de aviso que solicita notificación. Por ejemplo, es posible que un receptor quiera saber cuando va a cambiar la representación del mapa de bits de los datos en el objeto de datos. Otro receptor puede estar interesado solo en el formato de metarchivo del mismo objeto. Se notifica cada receptor de notificaciones cuando cambian los datos de interés. Estos datos se devuelven al receptor de notificaciones cuando se produce una notificación.

[in] advf

Un grupo de marcas que controlan la conexión de asesoramiento. Los valores posibles proceden de la enumeración ADVF . Sin embargo, solo algunos de los posibles valores de ADVF son relevantes para este método. En la tabla siguiente se describen brevemente los valores pertinentes; Puede encontrar una descripción más detallada en la descripción de la enumeración ADVF .

Valor Significado
ADVF_NODATA
Solicita que no se envíen datos junto con la notificación.
ADVF_ONLYONCE
Hace que la conexión de asesoramiento se destruya después de enviar la primera notificación. Se realiza una llamada implícita a IDataAdviseHolder::Unadvise en nombre del autor de la llamada para quitar la conexión.
ADVF_PRIMEFIRST
Hace que se envíe una notificación inicial independientemente de si los datos han cambiado de su estado actual.
ADVF_DATAONSTOP
Cuando se especifica con ADVF_NODATA, esta marca hace que se envíe una última notificación con los datos incluidos antes de que se destruya el objeto de datos. Cuando no se especifica ADVF_NODATA, esta marca no tiene ningún efecto.

[in] pAdvise

Puntero a la interfaz IAdviseSink en el receptor de avisos que recibe la notificación de cambio.

[out] pdwConnection

Puntero a una variable que recibe un token que identifica esta conexión. El objeto de llamada puede eliminar posteriormente la conexión de aviso pasando este token a IDataAdviseHolder::Unadvise. Si este valor es cero, indicará que no se estableció la conexión.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente.

Comentarios

A través de la conexión establecida a través de este método, el receptor de asesoramiento puede recibir notificaciones futuras en una llamada a IAdviseSink::OnDataChange.

Un objeto emite una llamada a IDataObject::D Advise para solicitar notificaciones sobre los cambios en el formato, el medio o el dispositivo de destino de interés. Estos datos se especifican en el parámetro pFormatetc . El método DAdvise se suele implementar para llamar a IDataAdviseHolder::Advise para delegar la tarea de configurar y realizar un seguimiento de una conexión al titular del aviso. Cuando cambia el formato, el medio o el dispositivo de destino en cuestión, el objeto de datos llama a IDataAdviseHolder::SendOnDataChange para enviar las notificaciones necesarias.

La conexión establecida se puede eliminar pasando el valor en pdwConnection en una llamada a IDataAdviseHolder::Unadvise.

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 objidl.h

Consulte también

CreateDataAdviseHolder

IDataAdviseHolder

IDataObject::D Advise