IViewObject::SetAdvise 方法 (oleidl.h)
建立檢視物件與建議接收之間的連線,以便通知接收物件檢視中的變更。
語法
HRESULT SetAdvise(
[in] DWORD aspects,
[in] DWORD advf,
[in] IAdviseSink *pAdvSink
);
參數
[in] aspects
正在設定諮詢連線的檢視。 有效值取自列舉 DVASPECT。 如需詳細資訊,請參閱 DVASPECT 列舉。
[in] advf
包含控制諮詢連接的旗標群組。 有效值來自列舉 ADVF。 不過,只有一些可能的 ADVF 值與此方法相關。 下表簡短描述相關值。 如需更詳細的描述,請參閱 ADVF 列舉。
值 | 意義 |
---|---|
|
會在傳送第一個通知之後終結諮詢連線。 |
|
無論資料是否已從其目前狀態變更,都會導致傳送初始通知。 |
注意 您可以合併ADVF_ONLYONCE和ADVF_PRIMEFIRST,以提供 IDataObject::GetData的非同步呼叫。
[in] pAdvSink
要通知變更之諮詢接收上的 IAdviseSink 介面指標。 Null值會刪除任何現有的諮詢連線。
傳回值
此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。
傳回碼 | 描述 |
---|---|
|
不支援諮詢通知。 |
|
dwAspect的值無效。 |
|
提供的一或多個值無效。 |
|
此作業可用的記憶體不足。 |
備註
在檢視物件上要求繪製作業的容器應用程式也可以向 IViewObject::SetAdvise 方法註冊,以便在檢視物件的呈現變更時收到通知。 若要瞭解物件的基礎資料何時變更,您必須分別呼叫 IDataObject::D Advise 。
若要移除現有的諮詢連線,請呼叫 IViewObject::SetAdvise 方法,並將 pAdvSink 設定為 Null。
如果檢視物件變更,則會透過其 IAdviseSink::OnViewChange 方法呼叫適當的建議接收。
在任何時間,指定的檢視物件只能支援一個諮詢連線。 因此,當 呼叫 IViewObject::SetAdvise 且檢視物件已經保留建議接收指標時,OLE 會先釋放現有的指標,再註冊新的指標。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | oleidl.h |