HrThisThreadAdviseSink
Область применения: Outlook 2013 | Outlook 2016
Создает приемник рекомендаций, который обертывает существующий приемник рекомендаций для безопасности потока.
Свойство | Значение |
---|---|
Файл заголовка: |
Mapiutil.h |
Реализовано в: |
MAPI |
Вызывающая сторона: |
Клиентские приложения |
HrThisThreadAdviseSink(
LPMAPIADVISESINK lpAdviseSink,
LPMAPIADVISESINK FAR * lppAdviseSink
);
Параметры
lpAdviseSink
[в] Указатель на приемник рекомендаций для упаковки.
lppAdviseSink
[out] Указатель на указатель на новый приемник рекомендаций, который обертывает приемник рекомендаций, на который указывает параметр lpAdviseSink .
Возвращаемое значение
Нет.
Замечания
Цель оболочки — убедиться, что уведомление вызывается в том же потоке, который вызывает функцию HrThisThreadAdviseSink . Эта функция используется для защиты обратных вызовов уведомлений, которые должны выполняться в определенном потоке.
Клиентские приложения должны использовать HrThisThreadAdviseSink , чтобы ограничить время создания уведомлений, то есть при вызове метода IMAPIAdviseSink::OnNotify объекта приемника рекомендаций, переданного клиентом в предыдущем вызове Совет . Если уведомления могут создаваться произвольно, реализация уведомления может привести клиента к многопоточной операции, когда это не является подходящим. Например, клиент может использовать библиотеку, например одну из библиотек классов Microsoft Foundation, которая не поддерживает многопоточные вызовы. Уведомление в другом потоке сделает такой клиент трудным для тестирования и подверженным ошибкам.
HrThisThreadAdviseSink гарантирует, что вызовы OnNotify выполняются только в соответствующее время:
Во время обработки вызова любого метода MAPI.
Во время обработки сообщений Windows.
При реализации HrThisThreadAdviseSink все вызовы метода OnNotify нового приемника рекомендаций в любом потоке приводят к выполнению исходного метода уведомления в потоке, в котором был вызван hrThisThreadAdviseSink .
Дополнительные сведения о приемниках уведомлений и рекомендаций см. в разделах Уведомление о событиях в MAPI и Реализация объекта приемника рекомендаций.