HrThisThreadAdviseSink

Gilt für: Outlook 2013 | Outlook 2016

Erstellt eine Empfehlungssenke, die eine vorhandene Empfehlungssenke umschließt, um die Gewindesicherheit zu gewährleisten.

Eigenschaft Wert
Headerdatei
Mapiutil.h
Implementiert von:
MAPI
Aufgerufen von:
Clientanwendungen
HrThisThreadAdviseSink(
  LPMAPIADVISESINK lpAdviseSink,
  LPMAPIADVISESINK FAR * lppAdviseSink
);

Parameter

lpAdviseSink

[in] Zeiger auf die zu umschließende Empfehlungssenke.

lppAdviseSink

[out] Zeiger auf einen Zeiger auf eine neue Empfehlungssenke, die die Vom lpAdviseSink-Parameter gezeigte Empfehlungssenke umschließt.

Rückgabewert

None.

Hinweise

Der Zweck des Wrappers besteht darin, sicherzustellen, dass die Benachrichtigung für denselben Thread aufgerufen wird, der die HrThisThreadAdviseSink-Funktion aufgerufen hat . Diese Funktion wird verwendet, um Benachrichtigungsrückrufe zu schützen, die in einem bestimmten Thread ausgeführt werden müssen.

Clientanwendungen sollten HrThisThreadAdviseSink verwenden, um einzuschränken, wann Benachrichtigungen generiert werden, d. h. wenn Aufrufe an die IMAPIAdviseSink::OnNotify-Methode des Vom Client in einem vorherigen Advise-Aufruf übergebenen Beratungssenkeobjekts erfolgen. Wenn Benachrichtigungen willkürlich generiert werden dürfen, kann eine Benachrichtigungsimplementierung einen Client in einen Multithreadvorgang zwingen, wenn dies nicht geeignet wäre. Beispielsweise kann ein Client eine Bibliothek verwenden, z. B. eine der Microsoft Foundation-Klassenbibliotheken, die keine Multithreadaufrufe unterstützt. Benachrichtigungen in einem anderen Thread würden einen solchen Client schwierig zu testen und fehleranfällig machen.

HrThisThreadAdviseSink stellt sicher, dass OnNotify-Aufrufe nur zu diesen geeigneten Zeiten erfolgen:

  • Während der Verarbeitung eines Aufrufs einer beliebigen MAPI-Methode.

  • Während der Verarbeitung von Windows-Nachrichten.

Wenn HrThisThreadAdviseSink implementiert ist, führen alle Aufrufe der OnNotify-Methode der neuen Empfehlungssenke für einen beliebigen Thread dazu, dass die ursprüngliche Benachrichtigungsmethode auf dem Thread ausgeführt wird, für den HrThisThreadAdviseSink aufgerufen wurde.

Weitere Informationen zu Benachrichtigungs- und Beratungssenken finden Sie unter Ereignisbenachrichtigung in MAPI und Implementieren eines Beratungssenkenobjekts.