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::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,请在传递给 StoreLogoffTransports 的 ulFlags 参数中设置LOGOFF_ABORT标志。