Freigeben über


IMsgStore::SetLockState

Gilt für: Outlook 2013 | Outlook 2016

Sperrt oder entsperrt eine Nachricht. Diese Methode ist nur durch die MAPI-Warteschlange aufgerufen.

HRESULT SetLockState(
  LPMESSAGE lpMessage,
  ULONG ulLockState  
);

Parameter

lpMessage

[in] Ein Zeiger auf die Nachricht, die gesperrt oder entsperrt werden soll.

ulLockState

[in] Ein -Wert, der angibt, ob die Nachricht gesperrt oder entsperrt werden soll. Einer der folgenden Werte ist gültig:

MSG_LOCKED

Die Nachricht sollte gesperrt sein.

MSG_UNLOCKED

Die Nachricht sollte entsperrt werden.

Rückgabewert

S_OK

Der Sperrstatus der Nachricht wurde erfolgreich festgelegt.

Hinweise

Die IMsgStore::SetLockState-Methode sperrt oder entsperrt eine Nachricht. SetLockState kann nur vom MAPI-Spooler aufgerufen werden, während die Nachricht gesendet wird.

Wenn der MAPI-Spooler SetLockState aufruft, um eine Nachricht zu sperren, sperrt er in der Regel nur die älteste Nachricht (d. a. die nächste Nachricht, die für den MAPI-Spooler in die Warteschlange eingereiht wird). Wenn die älteste Nachricht in der Warteschlange auf einen vorübergehend nicht verfügbaren Transportanbieter wartet und die nächste Nachricht in der Warteschlange einen anderen Transportanbieter verwendet, kann der MAPI-Spooler mit der Verarbeitung der späteren Nachricht beginnen. Sie beginnt mit der Verarbeitung, indem diese Nachricht mithilfe von SetLockState gesperrt wird.

Hinweise für Implementierer

Nachdem der MAPI-Spooler SetLockState aufgerufen hat, wobei der ulLockState-Parameter auf MSG_LOCKED festgelegt ist, müssen Aufrufe der IMsgStore::AbortSubmit-Methode zum Abbrechen der Übertragung der Nachricht fehlschlagen.

Rufen Sie die IMAPIProp::SaveChanges-Methode der Nachricht in Ihrer SetLockState-Implementierung auf, damit alle Änderungen gespeichert werden, die vor dem Empfang des SetLockState-Aufrufs an der Nachricht vorgenommen wurden.

Siehe auch

IMsgStore::AbortSubmit

IMsgStore::FinishedMsg

IMsgStore: IMAPIProp