IMsgStore::SetLockState
适用于:Outlook 2013 | Outlook 2016
锁定或解锁消息。 此方法仅由 MAPI 后台处理程序调用。
HRESULT SetLockState(
LPMESSAGE lpMessage,
ULONG ulLockState
);
参数
lpMessage
[in]指向要锁定或解锁的消息的指针。
ulLockState
[in]一个 值,该值指示消息是应锁定还是应解锁。 以下值之一有效:
MSG_LOCKED
应锁定消息。
MSG_UNLOCKED
消息应已解锁。
返回值
S_OK
已成功设置消息的锁定状态。
备注
IMsgStore::SetLockState 方法锁定或解锁消息。 SetLockState 只能由 MAPI 后台处理程序在发送消息时调用。
通常,当 MAPI 后台处理程序调用 SetLockState 来锁定消息时,它仅锁定最早的消息 (即排队等待 MAPI 后台处理程序发送) 的下一条消息。 如果队列中最早的消息正在等待暂时不可用的传输提供程序,并且队列中的下一条消息使用不同的传输提供程序,则 MAPI 后台处理程序可以开始处理后面的消息。 它通过使用 SetLockState 锁定该消息开始处理。
针对实现者的说明
MAPI 后台处理程序调用 SetLockState 且 ulLockState 参数设置为 MSG_LOCKED 后,调用 IMsgStore::AbortSubmit 方法来取消消息的传输必须失败。
在 SetLockState 实现中调用消息的 IMAPIProp::SaveChanges 方法,以便保存在收到 SetLockState 调用之前对消息所做的任何更改。