IMsgStore::StoreLogoff

适用于:Outlook 2013 | Outlook 2016

启用消息存储的有序注销。

HRESULT StoreLogoff(
  ULONG FAR * lpulFlags
);

参数

lpulFlags

[in,out]控制消息存储区注销的标志的位掩码。 输入时,为此参数设置的所有标志都是互斥的;调用方每次调用只能指定一个标志。 以下标志对输入有效:

LOGOFF_ABORT

应在注销之前停止此消息存储的任何传输提供程序活动。 活动停止后,控件将返回到调用方。 如果发生任何传输提供程序活动,则不会发生注销,并且 MAPI 后台处理程序或传输提供程序的行为不会发生更改。 如果传输提供程序活动处于空闲状态,MAPI 后台处理程序将释放存储。

LOGOFF_NO_WAIT

在关闭之前,消息存储不应等待来自传输提供程序的消息。 将发送已准备好发送的出站消息。 如果此存储区包含默认的收件箱,则会接收任何进程内邮件,然后禁用进一步的接收。 当所有活动完成后,MAPI 后台处理程序将释放存储区,并立即将控件返回到调用方。

LOGOFF_ORDERLY

在关闭之前,消息存储不应等待来自传输提供程序的信息。 当前正在处理的消息已完成,但不会处理任何新消息。 完成所有活动后,MAPI 后台处理程序将释放存储区,并立即将控件返回到存储提供程序。

LOGOFF_PURGE

注销的工作方式应与设置LOGOFF_NO_WAIT标志相同,但应调用相应传输提供程序的 IXPLogon::FlushQueuesIMAPIStatus::FlushQueues 方法。 LOGOFF_PURGE标志在完成后将控制权返回给调用方。

LOGOFF_QUIET

如果发生任何传输提供程序活动,则不应发生注销。

以下标志在输出上有效

LOGOFF_INBOUND

入站消息当前正在到达。

LOGOFF_OUTBOUND

正在发送出站消息。

LOGOFF_OUTBOUND_QUEUE

出站邮件处于挂起状态 (也就是说,它们位于发件箱) 中。

返回值

S_OK

注销已成功完成。

备注

IMsgStore::StoreLogoff 方法在注销过程中对消息存储和传输提供程序的交互施加控制。 调用 StoreLogoff 仅对仅由调用方使用的消息存储有效。 例如,当两个客户端使用相同的消息存储,其中一个客户端调用 StoreLogoff 时,消息存储将立即释放,并将控制权返回到调用客户端。

针对实现者的说明

保存传递给 StoreLogoff 的标志,并在调用 IMAPISupport::StoreLogoffTransports 方法时传递它们。 在消息存储的引用计数降至零之前,请勿调用 StoreLogoffTransports 。 对 StoreLogoffTransports 的 多次调用只是覆盖保存的标志。

如果在消息存储的引用计数达到零之前尚未调用 StoreLogoff,请在传递给 StoreLogoffTransportsulFlags 参数中设置LOGOFF_ABORT标志。

另请参阅

IMAPIStatus::FlushQueues

IMAPISupport::StoreLogoffTransports

IXPLogon::FlushQueues

IMsgStore : IMAPIProp