共用方式為


IOleObject::Advise 方法 (oleidl.h)

建立複合檔物件與呼叫對象建議接收之間的諮詢連接,當複合文件物件重新命名、儲存或關閉時,呼叫物件會透過該接收通知。

語法

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

參數

[in] pAdvSink

呼叫物件之建議接收上的 IAdviseSink 介面指標。

[out] pdwConnection

可傳遞至 IOleObject::Unadvise 以刪除諮詢連線的令牌指標。

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
E_OUTOFMEMORY
此作業可用的記憶體不足。

備註

IOleObject::Advisor 方法會設定物件與其容器之間的諮詢連線,物件會透過該連接通知容器的關閉、儲存、重新命名和連結來源變更事件接收。 容器通常會在初始化物件時呼叫這個方法,向對象註冊其諮詢接收。 在傳回中,物件會呼叫 IAdviseSink 或 IAdviseSink2 來傳送容器複合檔通知。

如果容器和物件成功建立諮詢連線,接收呼叫的物件會透過 pdwConnection 傳回非零值給容器。 如果嘗試建立諮詢連接失敗,對象會傳回零。 若要刪除諮詢連線,容器會呼叫 IOleObject::Unadvise ,並將這個非零令牌傳回物件。

物件可以將管理和追蹤諮詢事件的作業委派給 OLE 建議持有者,您可以藉由呼叫 CreateOleAdviseHolder 來取得指標。 傳回的 IOleAdviseHolder 介面有三種方法可傳送諮詢通知,以及 IOleAdviseHolder::AdvisorIOleAdviseHolder::Unadvise 和IOleAdviseHolder::EnumAdvise 方法,與 IOleObject 的方法相同。 對 IOleObject::AdviseIOleObject::UnadviseIOleObject::EnumAdvise 的呼叫會委派給建議持有者中的對應方法。

若要終結建議持有者,只要在 IOleAdviseHolder 介面上呼叫 IUnknown::Release 即可。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

CreateOleAdviseHolder

IOleAdviseHolder::建議

IOleObject

IOleObject::EnumAdvise

IOleObject::Unadvise