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.