Compartilhar via


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

Estabelece uma conexão de consultoria entre um objeto OLE e o coletor de consultoria do objeto de chamada. Por meio desse coletor, o objeto de chamada pode receber notificação quando o objeto OLE é renomeado, salvo ou fechado.

Sintaxe

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

Parâmetros

[in] pAdvise

Um ponteiro para a interface IAdviseSink no coletor de consultoria que deve ser informado sobre as alterações.

[out] pdwConnection

Um ponteiro para um token que pode ser passado para o método IOleAdviseHolder::Unadvise para excluir a conexão de consultoria. O objeto de chamada é responsável por chamar IUnknown::AddRef e IUnknown::Release nesse ponteiro.

Retornar valor

Esse método retorna S_OK em caso de êxito. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
E_INVALIDARG
O ponteiro de interface IAdviseSink fornecido é inválido.

Comentários

Contêineres, manipuladores de objetos e objetos de link criam coletores de consultoria para receber notificação de alterações em objetos de interesse de documentos compostos, como objetos inseridos ou vinculados. Objetos OLE de interesse para esses objetos devem implementar a interface IOleObject , que inclui vários métodos de consultoria, incluindo IOleObject::Advise. Uma chamada para esse método deve configurar uma conexão de consultoria com qualquer coletor de aviso que o chame e manter cada conexão até que ela seja fechada. Ele deve ser capaz de lidar com mais de uma conexão de consultoria por vez.

IOleAdviseHolder::Advise destina-se a ser usado para simplificar a implementação de IOleObject::Advise. Você pode obter um ponteiro para a implementação OLE de IOleAdviseHolder chamando CreateOleAdviseHolder e, em seguida, para implementar IOleObject::Advise, basta delegar a chamada para IOleAdviseHolder::Advise. Outros métodos IOleAdviseHolder destinam-se a implementar outros métodos de consultoria IOleObject .

Se a tentativa de estabelecer uma conexão de consultoria for bem-sucedida, o objeto que recebe a chamada retornará um valor diferente de zero por meio de pdwConnection. Se a tentativa falhar, o objeto retornará um zero. Para excluir uma conexão de consultoria, o objeto com o coletor de consultoria passa esse token diferente de zero de volta para o objeto chamando IOleAdviseHolder::Advise.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho oleidl.h

Confira também

Ioleadviseholder

IOleAdviseHolder::EnumAdvise

IOleAdviseHolder::Unadvise

IOleObject::Advise