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


IMsgStore::StoreLogoff

Область применения: Outlook 2013 | Outlook 2016

Включает упорядоченный выход из хранилища сообщений.

HRESULT StoreLogoff(
  ULONG FAR * lpulFlags
);

Параметры

lpulFlags

[вход, выход] Битовая маска флагов, управляющая выходом из хранилища сообщений. Во входных данных все флаги, установленные для этого параметра, являются взаимоисключающими; вызывающий объект должен указать только один флаг для каждого вызова. На входных данных допустимы следующие флаги:

LOGOFF_ABORT

Все действия поставщика транспорта для этого хранилища сообщений должны быть остановлены перед выходом из системы. Элемент управления возвращается вызывающей после остановки действия. Если выполняется какое-либо действие поставщика транспорта, выход не происходит и не изменяется поведение диспетчера очереди MAPI или поставщиков транспорта. Если действие поставщика транспорта неактивно, диспетчер очереди MAPI освобождает хранилище.

LOGOFF_NO_WAIT

Хранилище сообщений не должно ждать сообщений от поставщиков транспорта перед закрытием. Отправляются исходящие сообщения, которые готовы к отправке. Если это хранилище содержит папку "Входящие" по умолчанию, все внутрипроцессные сообщения получаются, а затем отключается дальнейший прием. После завершения всех действий средство spooooler MAPI освобождает хранилище, а элемент управления немедленно возвращается вызывающей.

LOGOFF_ORDERLY

Хранилище сообщений не должно ожидать получения сведений от поставщиков транспорта перед закрытием. Сообщения, которые обрабатываются в настоящее время, завершаются, но новые сообщения не обрабатываются. По завершении всех действий диспетчер очереди MAPI освобождает хранилище, а управление немедленно возвращается поставщику хранилища.

LOGOFF_PURGE

Выход должен работать так же, как если бы установлен флаг LOGOFF_NO_WAIT, но для соответствующих поставщиков транспорта должен быть вызван метод IXPLogon::FlushQueues или IMAPIStatus::FlushQueues . Флаг LOGOFF_PURGE возвращает элемент управления вызывающей объекту после завершения.

LOGOFF_QUIET

Если выполняется какое-либо действие поставщика транспорта, выход из системы не должен происходить.

Следующие флаги допустимы для выходных данных

LOGOFF_INBOUND

В настоящее время поступают входящие сообщения.

LOGOFF_OUTBOUND

Исходящие сообщения находятся в процессе отправки.

LOGOFF_OUTBOUND_QUEUE

Исходящие сообщения находятся в ожидании (то есть находятся в папке "Исходящие").

Возвращаемое значение

S_OK

Выход завершился успешно.

Замечания

Метод IMsgStore::StoreLogoff контролирует взаимодействие хранилища сообщений и поставщиков транспорта в процессе выхода. Вызов StoreLogoff действителен только для хранилищ сообщений, которые используются только вызывающим. Например, если два клиента используют одно и то же хранилище сообщений и один из них вызывает StoreLogoff, хранилище сообщений немедленно освобождается, а управление возвращается вызывающему клиенту.

Примечания для исполнителей

Сохраните флаги, передаваемые в StoreLogoff , и передайте их при вызове метода IMAPISupport::StoreLogoffTransports . Не вызывайте StoreLogoffTransports , пока количество ссылок хранилища сообщений не упадет до нуля. Несколько вызовов StoreLogoffTransports просто перезаписывают сохраненные флаги.

Если вызов StoreLogoff не выполнен до того, как количество ссылок хранилища сообщений достигнет нуля, установите флаг LOGOFF_ABORT в параметре ulFlags , передаваемом в StoreLogoffTransports.

См. также

IMAPIStatus::FlushQueues

IMAPISupport::StoreLogoffTransports

IXPLogon::FlushQueues

IMsgStore: IMAPIProp