IMAPISupport::Subscribe
Область применения: Outlook 2013 | Outlook 2016
Регистрирует приемник рекомендаций для получения уведомлений через MAPI.
HRESULT Subscribe(
LPNOTIFKEY lpKey,
ULONG ulEventMask,
ULONG ulFlags,
LPMAPIADVISESINK lpAdviseSink,
ULONG FAR * lpulConnection
);
Параметры
lpKey
[в] Указатель на ключ уведомления, представляющий исходный объект рекомендаций. Параметр lpKey не может иметь значение NULL.
ulEventMask
[в] Маска значений, указывающих типы событий уведомлений, которые нужны вызывающему объекту и должны быть включены в регистрацию. Допустимы следующие значения:
fnevCriticalError
Регистрирует уведомления о серьезных ошибках, таких как нехватка памяти.
fnevExtended
Регистрирует уведомления о событиях, относящихся к определенной адресной книге или поставщику хранилища сообщений.
fnevNewMail
Регистрирует уведомления о поступлении новых сообщений.
fnevObjectCreated
Регистрирует уведомления о создании нового объекта.
fnevObjectCopied
Регистрирует уведомления о копируемом объекте.
fnevObjectDeleted
Регистрирует уведомления об удалении объекта.
fnevObjectModified
Регистрирует уведомления об изменении объекта.
fnevObjectMoved
Регистрирует уведомления о перемещении объекта.
fnevSearchComplete
Регистрирует уведомления о завершении операции поиска.
ulFlags
[в] Битовая маска флагов, управляющая способом уведомления. Можно задать следующий флаг:
NOTIFY_SYNC
Когда вызывающий объект вызывает метод IMAPISupport::Notify для создания уведомлений для этого приемника рекомендаций, Перед возвратом следует выполнить все необходимые вызовы, чтобы сообщить приемникам. Если этот флаг не задан, уведомление будет асинхронным, а обратные вызовы помещаются в очередь для процессов, подписавшихся и запущенных, когда эти процессы получают контроль над ЦП.
lpAdviseSink
[в] Указатель на объект приемника рекомендаций.
lpulConnection
[out] Указатель на ненулевой номер подключения, представляющий регистрацию.
Возвращаемое значение
S_OK
Регистрация уведомления прошла успешно.
Замечания
Метод IMAPISupport::Subscribe реализован для всех объектов поддержки поставщика услуг. Поставщики услуг вызывают подписку из одного из своих методов Совет, чтобы позволить MAPI управлять уведомлениями.
Примечания для вызывающих методов
Чтобы использовать методы поддержки MAPI для уведомления, создайте ключ для источника, который сообщает объекту о том, какие уведомления должны быть созданы. Значение ключа должно быть уникальным и легко повторно создаваться при каждом изменении объекта.
MAPI использует ключ уведомления для поиска всех функций обратного вызова, зарегистрированных с помощью функции HrAllocAdviseSink для соответствующего источника рекомендаций. Передайте этот ключ в IMAPISupport::Notify всякий раз, когда необходимо создать уведомление для соответствующего источника рекомендаций.
Флаг NOTIFY_SYNC влияет на работу последующих вызовов Уведомления. При настройке NOTIFY_SYNC уведомление не возвращается, пока не завершится отправка всех необходимых уведомлений. Если не задано NOTIFY_SYNC, уведомление работает асинхронно, возможно, возвращается до отправки всех уведомлений.