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 呼叫之前對訊息所做的任何變更。