次の方法で共有


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 呼び出しが受信される前にメッセージに加えられた変更が保存されるように、SetLockState 実装でメッセージの IMAPIProp::SaveChanges メソッドを呼び出します。

関連項目

IMsgStore::AbortSubmit

IMsgStore::FinishedMsg

IMsgStore: IMAPIProp