Freigeben über


IPersistMessage::SaveCompleted

Gilt für: Outlook 2013 | Outlook 2016

Benachrichtigt das Formular, dass ein Speichervorgang abgeschlossen wurde.

HRESULT SaveCompleted(
  LPMESSAGE pMessage
);

Parameter

pMessage

[in] Ein Zeiger auf die neu gespeicherte Nachricht.

Rückgabewert

S_OK

Die Benachrichtigung war erfolgreich.

E_INVALIDARG

Der pMessage-Parameter ist NULL, und das Formular befindet sich entweder im Zustand HandsOffFromNormal oder HandsOffAfterSave .

E_UNEXPECTED

Das Formular befindet sich nicht in einem der folgenden Zustände:

Hinweise

Die IPersistMessage::SaveCompleted-Methode wird von einem Formular-Viewer aufgerufen, um das Formular zu benachrichtigen, dass alle ausstehenden Änderungen gespeichert wurden. SaveCompleted sollte nur aufgerufen werden, wenn sich das Formular in einem der folgenden Zustände befindet:

  • HandsOffFromNormal

  • HandsOffAfterSave

  • NoScribble

Hinweise für Implementierer

Es gibt mehrere mögliche Aktionen, die die SaveCompleted-Methode ausführen kann, je nachdem, was der Nachrichtenzeigerparameter enthält und in welchem Zustand sich die Nachricht befindet. Wenn eine Aktion erfolgreich ist, speichern Sie jedoch immer den aktuellen Status der Nachricht, auf die der pMessage-Parameter verweist, und wechseln Sie in den Normalzustand des Formulars.

In der folgenden Tabelle werden die Bedingungen beschrieben, die sich auf die Aktionen auswirken, die Sie in Ihrer Implementierung von SaveCompleted ausführen sollten.

Bedingung Aktion
Der pMessage-Parameter ist NULL, und der fSameAsLoad-Parameter der IPersistMessage::Save-Methode ist auf TRUE festgelegt. Rufen Sie die IMAPIViewAdviseSink::OnSaved-Methode aller registrierten Viewer auf, markieren Sie das Formular als sauber, und geben Sie S_OK zurück.
Der pMessage-Parameter ist NULL, und der fSameAsLoad-Parameter der IPersistMessage::Save-Methode ist auf FALSE festgelegt. Geben Sie S_OK zur�ck.
Das Formular befindet sich im Zustand HandsOffFromNormal. Geben Sie die aktuelle Nachricht frei, und ersetzen Sie sie durch die Nachricht, auf die der pMessage-Parameter verweist. Rufen Sie die IUnknown::AddRef-Methode der Ersetzungsnachricht auf, und geben Sie S_OK zurück.
Das Formular befindet sich im Zustand HandsOffAfterSave. Rufen Sie die IMAPIViewAdviseSink::OnSaved-Methode aller registrierten Viewer auf, markieren Sie das Formular als sauber, und geben Sie S_OK zurück.
Das Formular befindet sich im Zustand NoScribble . Geben Sie die aktuelle Nachricht frei, und ersetzen Sie sie durch die Nachricht, auf die pMessage verweist. Rufen Sie die IUnknown::AddRef-Methode der Ersetzungsnachricht auf. Rufen Sie die IMAPIViewAdviseSink::OnSaved-Methode aller registrierten Viewer auf, markieren Sie das Formular als sauber, und geben Sie S_OK zurück.
Das Formular befindet sich in einem der HandsOff-Zustände, und der pMessage-Parameter ist auf NULL festgelegt. Gibt E_INVALIDARG zurück.
Das Formular befindet sich in einem anderen Zustand als einem der HandsOff-Zustände oder des NoScribble-Zustands. Gibt E_UNEXPECTED zurück.

Weitere Informationen zum Speichern von Speicherobjekten finden Sie in der Dokumentation für die Methoden IPersistStorage::SaveCompleted oder IPersistFile::SaveCompleted .

Siehe auch