HrThisThreadAdviseSink
適用於:Outlook 2013 |Outlook 2016
建立建議接收,包裝現有的線程安全建議接收。
屬性 | 值 |
---|---|
標頭檔: |
Mapiutil.h |
實作者: |
Mapi |
通話者: |
用戶端應用程式 |
HrThisThreadAdviseSink(
LPMAPIADVISESINK lpAdviseSink,
LPMAPIADVISESINK FAR * lppAdviseSink
);
參數
lpAdviseSink
[in]要包裝之建議接收的指標。
lppAdviseSink
[out]新建議接收器的指標,其包裝 lpAdviseSink 參數所指向的建議接收。
傳回值
無。
註解
包裝函式的目的是要確保在呼叫 HrThisThreadAdviseSink 函式的相同線程上呼叫通知。 此函式可用來保護必須在特定線程上執行的通知回呼。
用戶端應用程式應該使用 HrThisThreadAdviseSink 來限制產生通知的時間,也就是在呼叫用戶端在先前的「建議」呼叫中傳遞之建議接收物件的 IMAPIAdviseSink::OnNotify 方法時。 如果允許任意產生通知,通知實作可能會在不適用時,強制客戶端進行多線程作業。 例如,用戶端可能會使用不支援多線程呼叫的連結庫,例如其中一個 Microsoft Foundation Class Libraries。 在不同線程上的通知會讓這類客戶端難以測試,而且容易發生錯誤。
HrThisThreadAdviseSink 可確保 OnNotify 呼叫只會在下列適當時間發生:
在處理任何MAPI方法的呼叫期間。
處理 Windows 訊息期間。
實作 HrThisThreadAdviseSink 時,任何對新通知接收器在任何線程上的 OnNotify 方法的呼叫,都會在呼叫 HrThisThreadAdviseSink 的線程上執行原始通知方法。
如需通知和建議接收的詳細資訊,請參閱 MAPI中的事件通知 和 實作建議接收物件。