MAPIOFFLINE_NOTIFY
Область применения: Outlook 2013 | Outlook 2016
Это уведомление об изменении состояния подключения. Он указывает на измененную часть состояния подключения, старое состояние подключения и новое состояние подключения.
Краткие сведения
См. раздел IMAPIOfflineNotify.
typedef struct
{
ULONG ulSize;
MAPIOFFLINE_NOTIFY_TYPE NotifyType;
ULONG ulClientToken;
union {
struct
{
ULONG ulMask;
ULONG ulStateOld;
ULONG ulStateNew;
} StateChange;
} Info;
} MAPIOFFLINE_NOTIFY;
Members
ulSize
Размер структуры MAPIOFFLINE_NOTIFY .
NotifyType
Тип уведомления. Обратите внимание, что поддерживается только уведомление об изменении состояния подключения. Поддерживаются только следующие значения:
- MAPIOFFLINE_NOTIFY_TYPE_STATECHANGE_START
- MAPIOFFLINE_NOTIFY_TYPE_STATECHANGE
- MAPIOFFLINE_NOTIFY_TYPE_STATECHANGE_DONE
ulClientToken
Маркер, определенный клиентом в структуре MAPIOFFLINE_ADVISEINFO в IMAPIOfflineMgr::Advise.
ulMask
Измененная часть состояния подключения. Единственное поддерживаемое значение — MAPIOFFLINE_STATE_OFFLINE_MASK.
ulStateOld
Старое состояние подключения. Поддерживаются только следующие значения:
- MAPIOFFLINE_STATE_OFFLINE
- MAPIOFFLINE_STATE_ONLINE
ulStateNew
Новое состояние подключения. Поддерживаются только следующие значения:
- MAPIOFFLINE_STATE_OFFLINE
- MAPIOFFLINE_STATE_ONLINE
Замечания
API состояния в автономном режиме поддерживает только уведомления об изменениях в сети или в автономном режиме. Клиент должен проверка, что Outlook возвращает следующие значения, прежде чем изучать фактическое изменение:
NotifyType имеет значение MAPIOFFLINE_NOTIFY_TYPE_STATECHANGE_START, MAPIOFFLINE_NOTIFY_TYPE_STATECHANGE или MAPIOFFLINE_NOTIFY_TYPE_STATECHANGE_DONE. В этом случае клиент может предположить, что изменение является изменением состояния подключения, а Info — структурой StateChange.
ulMask имеет значение MAPIOFFLINE_STATE_OFFLINE_MASK. В этом случае клиент может предположить, что изменение является изменением состояния подключения в сети или автономном режиме, и может продолжить изучение ulStateOld и ulStateNew.
Возможно, Outlook уведомляет клиента о других изменениях, которые не поддерживаются. В таких случаях NotifyType не будет ни одним из трех указанных ранее значений, либо ulMask не будет MAPIOFFLINE_STATE_OFFLINE_MASK, и клиент должен игнорировать остальные данные в info.