共用方式為


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

另請參閱

IMsgStore::AbortSubmit

IMsgStore::FinishedMsg

IMsgStore:IMAPIProp