IMAPIForm::ShutdownForm
Gilt für: Outlook 2013 | Outlook 2016
Schließt das Formular.
HRESULT ShutdownForm(
ULONG ulSaveOptions
);
Parameter
ulSaveOptions
[in] Ein -Wert, der steuert, wie oder ob Daten im Formular gespeichert werden, bevor das Formular geschlossen wird. Eine der folgenden Werte kann festgelegt werden:
SAVEOPTS_NOSAVE
Formulardaten sollten nicht gespeichert werden.
SAVEOPTS_PROMPTSAVE
Der Benutzer sollte aufgefordert werden, alle geänderten Daten im Formular zu speichern.
SAVEOPTS_SAVEIFDIRTY
Formulardaten sollten gespeichert werden, wenn sie sich seit dem letzten Speichern geändert haben. Wenn keine Benutzeroberfläche angezeigt wird, kann das Formular optional zur Verwendung der Funktionalität für die option SAVEOPTS_NOSAVE wechseln.
Rückgabewert
S_OK
Das Formular wurde geschlossen.
E_UNEXPECTED
Das Formular wurde bereits durch einen vorherigen Aufruf von ShutdownForm geschlossen.
Hinweise
Formular-Viewer rufen die IMAPIForm::ShutdownForm-Methode auf, um ein Formular zu schließen.
Hinweise für Implementierer
Führen Sie die folgenden Aufgaben in Ihrer Implementierung von ShutdownForm aus:
Überprüfen Sie, ob ein Viewer noch nicht ShutdownForm aufgerufen hat, und geben Sie ggf. E_UNEXPECTED zurück. Obwohl dies unwahrscheinlich ist, sollten Sie es überprüfen.
Rufen Sie die IUnknown::AddRef-Methode Ihres Formulars auf, damit speicher für das Formular und alle internen Datenstrukturen verfügbar bleiben, bis die Verarbeitung abgeschlossen ist.
Bestimmen Sie, ob nicht gespeicherte Änderungen an den Daten des Formulars vorhanden sind. Speichern Sie nicht gespeicherte Daten entsprechend der Einstellung des ulSaveOptions-Parameters durch Aufrufen der IMAPIMessageSite::SaveMessage-Methode Ihres Viewers.
Zerstören Sie das Benutzeroberflächenfenster Ihres Formulars.
Geben Sie die Nachrichten- und Nachrichtenwebsiteobjekte Ihres Formulars frei, indem Sie deren IUnknown::Release-Methoden aufrufen.
Benachrichtigen Sie alle registrierten Viewer über das ausstehende Herunterfahren, indem Sie ihre IMAPIViewAdviseSink::OnShutdown-Methoden aufrufen.
Rufen Sie die IMAPIViewContext::SetAdviseSink-Methode auf, um die Registrierung Ihres Formulars für die Benachrichtigung aufzuheben, indem Sie den Zeiger der Empfehlungssenke auf NULL festlegen.
Rufen Sie die MAPIFreeBuffer-Funktion auf, um den Arbeitsspeicher für die Eigenschaften Ihres Formulars freizugeben.
Rufen Sie die IUnknown::Release-Methode Ihres Formulars auf, die dem AddRef-Aufruf in Schritt 2 entspricht.
Geben Sie S_OK zur�ck.
Hinweis
Nachdem diese Aktionen abgeschlossen wurden, sind die einzigen gültigen Methoden für das Formularobjekt, die von der IUnknown-Schnittstelle aufgerufen werden können.
Hinweise für Aufrufer
Wenn ShutdownForm zurückgibt, lassen Sie das Formular unabhängig davon, ob es einen Fehler zurückgibt, durch Aufrufen der IUnknown::Release-Methode frei. Sie können alle von ShutdownForm zurückgegebenen Fehler ignorieren.
Siehe auch
IMAPIViewAdviseSink::OnShutdown