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


IMAPISupport::StoreLogoffTransports

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

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

HRESULT StoreLogoffTransports(
ULONG FAR * lpulFlags
);

Параметры

lpulFlags

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

LOGOFF_ABORT

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

LOGOFF_NO_WAIT

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

LOGOFF_ORDERLY

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

LOGOFF_PURGE

Работает так же, как и флаг LOGOFF_NO_WAIT. Флаг LOGOFF_PURGE возвращает элемент управления вызывающей объекту после завершения.

LOGOFF_QUIET

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

В выходных данных диспетчер очереди MAPI может возвращать один или несколько из следующих флагов:

LOGOFF_COMPLETE

Выход может завершиться. Все ресурсы, связанные с хранилищем, были освобождены, а объект признан недействительным. Диспетчер очереди MAPI выполнил или будет выполнять все запросы. На этом этапе следует вызывать только метод IUnknown::Release хранилища сообщений.

LOGOFF_INBOUND

В настоящее время в хранилище поступает сообщение от одного или нескольких поставщиков транспорта.

LOGOFF_OUTBOUND

В настоящее время сообщение отправляется из хранилища одним или несколькими поставщиками транспорта.

LOGOFF_OUTBOUND_QUEUE

В настоящее время в очереди для исходящего трафика для хранилища есть сообщения.

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

S_OK

Процедура выхода выполнена успешно.

Замечания

Метод IMAPISupport::StoreLogoffTransports реализован для объектов поддержки поставщика хранилища сообщений. Поставщики хранилища сообщений вызывают StoreLogoffTransports , чтобы предоставить клиентским приложениям некоторый контроль над тем, как MAPI обрабатывает действия поставщика транспорта при закрытии хранилища сообщений.

Если в другом процессе хранилище будет открыто для того же профиля, MAPI игнорирует вызов StoreLogoffTransports и возвращает флаг LOGOFF_COMPLETE в параметре lpulFlags .

Поведение поставщика хранилища после возврата из StoreLogoffTransports должно основываться на значении lpulFlags, которое указывает состояние системы и передает клиентские инструкции по поведению выхода.

Примечания для вызывающих методов

StoreLogoffTransports обычно вызывается из метода IMsgStore::StoreLogoff поставщика хранилища. Однако его также можно вызвать из метода IUnknown::Release хранилища сообщений. Реализуйте метод Release хранилища сообщений, чтобы можно было проверка, был ли выполнен вызов StoreLogoffTransports. Если вызов не выполнен, вызовите StoreLogoffTransports с установленным флагом LOGOFF_ABORT.

Для параметра lpulFlags задается флаг, указывающий, как клиент должен завершить работу хранилища сообщений. Определите соответствующий параметр для ulFlags на основе параметра соответствующего параметра в вызове StoreLogoff. То есть, если клиент назвал метод StoreLogoff с параметром ulFlags LOGOFF_ORDERLY, следует вызвать StoreLogoffTransports с параметром ulFlags LOGOFF_ORDERLY.

Дополнительные сведения о процессе выхода из хранилища сообщений см. в разделе Завершение работы поставщика хранилища сообщений.

См. также

IMsgStore::StoreLogoff

IXPLogon::FlushQueues

IMAPISupport: IUnknown