共用方式為


IDataAdviseHolder::Advise 方法 (objidl.h)

建立建議接收與接收通知之數據對象之間的連線。

語法

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

參數

[in] pDataObject

要求通知之數據物件上 IDataObject 介面的指標。 如果此物件中的數據有所變更,則會將通知傳送至已要求通知的建議接收。

[in] pFetc

FORMATETC 結構的指標,其中包含建議接收要求通知感興趣的指定格式、中型和目標裝置。 例如,只有在數據對象中的數據點陣圖表示變更時,才會想要知道一個接收。 另一個接收可能只對相同物件的元檔格式感興趣。 每個建議接收都會在感興趣的數據變更時收到通知。 當通知發生時,此數據會傳回建議接收。

[in] advf

一組旗標,可控制諮詢連線。 可能的值為來自 ADVF 列舉。 不過,只有部分可能的 ADVF 值與此方法相關。 下表簡短描述相關值;您可以在 ADVF 列舉的描述中找到更詳細的描述。

意義
ADVF_NODATA
要求不會連同通知一起傳送任何數據。
ADVF_ONLYONCE
在傳送第一個通知之後,會導致終結諮詢連線。 系統會代表呼叫端呼叫 IDataAdviseHolder::Unadvise 來移除連線。
ADVF_PRIMEFIRST
無論數據是否已從其目前狀態變更,都會傳送初始通知。
ADVF_DATAONSTOP
使用 ADVF_NODATA 指定時,此旗標會導致在數據對象終結之前傳送包含數據的最後一個通知。 未指定ADVF_NODATA時,此旗標不會有任何作用。

[in] pAdvise

接收變更通知的諮詢接收上 IAdviseSink 介面的指標。

[out] pdwConnection

接收識別此連線之令牌之變數的指標。 呼叫物件稍後可以將此令牌傳遞至 IDataAdviseHolder::Unadvise 來刪除諮詢連線。 如果這個值是零,就不會建立連接。

傳回值

此方法會在成功時傳回S_OK。

備註

透過透過此方法建立的連線,諮詢接收可以在 呼叫 IAdviseSink::OnDataChange 時收到未來的通知。

對象發出 對 IDataObject::D Advise 的呼叫,以要求對感興趣的格式、媒體或目標裝置的變更發出通知。 此數據是在 pFormatetc 參數中指定。 DAdvise 方法通常會實作來呼叫 IDataAdviseHolder::建議,以委派設定及追蹤建議持有者連線的工作。 當有問題的格式、中型或目標裝置變更時,數據物件會呼叫 IDataAdviseHolder::SendOnDataChange 來傳送必要的通知。

建立的連接可以藉由在 IDataAdviseHolder::Unadvise 呼叫中傳遞 pdwConnection 中的值來刪除。

規格需求

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

另請參閱

CreateDataAdviseHolder

IDataAdviseHolder

IDataObject::D Advise