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.