IOleAdviseHolder::Advise 方法 (oleidl.h)

在 OLE 对象与调用对象的建议接收器之间建立咨询连接。 通过该接收器,调用对象可以在重命名、保存或关闭 OLE 对象时收到通知。

语法

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

参数

[in] pAdvise

指向应通知更改的通知接收器上的 IAdviseSink 接口的指针。

[out] pdwConnection

指向可传递给 IOleAdviseHolder::Unadvise 方法以删除咨询连接的令牌的指针。 调用对象负责在此指针上调用 IUnknown::AddRefIUnknown::Release

返回值

此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。

返回代码 说明
E_INVALIDARG
提供的 IAdviseSink 接口指针无效。

注解

容器、对象处理程序和链接对象都会创建建议接收器,以接收相关复合文档对象(如嵌入对象或链接对象)中的更改通知。 这些对象感兴趣的 OLE 对象必须实现 IOleObject 接口,其中包括多个咨询方法,包括 IOleObject::Advise。 对此方法的调用必须与调用它的任何建议接收器建立建议连接,并维护每个连接,直到它关闭。 它必须能够一次处理多个咨询连接。

IOleAdviseHolder::Advise 旨在用于简化 IOleObject::Advise 的实现。 可以通过调用 CreateOleAdviseHolder 获取指向 IOleAdviseHolder 的 OLE 实现 指针,然后,若要实现 IOleObject::Advise,只需将调用委托给 IOleAdviseHolder::Advise 即可。 其他 IOleAdviseHolder 方法旨在实现其他 IOleObject 咨询方法。

如果建立咨询连接的尝试成功,则接收调用的对象将通过 pdwConnection 返回非零值。 如果尝试失败,对象将返回零。 若要删除建议连接,具有建议接收器的对象通过调用 IOleAdviseHolder::Advise 将此非零令牌传递回对象。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 oleidl.h

另请参阅

IOleAdviseHolder

IOleAdviseHolder::EnumAdvise

IOleAdviseHolder::Unadvise

IOleObject::Advise