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 列舉的描述中找到更詳細的描述。
值 | 意義 |
---|---|
|
要求不會連同通知一起傳送任何數據。 |
|
在傳送第一個通知之後,會導致終結諮詢連線。 系統會代表呼叫端呼叫 IDataAdviseHolder::Unadvise 來移除連線。 |
|
無論數據是否已從其目前狀態變更,都會傳送初始通知。 |
|
使用 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 |