Поделиться через


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 и Реализация объекта приемника рекомендаций.