共用方式為


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中的事件通知實作建議接收物件