Freigeben über


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:

  1. Ü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.

  2. 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.

  3. 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.

  4. Zerstören Sie das Benutzeroberflächenfenster Ihres Formulars.

  5. Geben Sie die Nachrichten- und Nachrichtenwebsiteobjekte Ihres Formulars frei, indem Sie deren IUnknown::Release-Methoden aufrufen.

  6. Benachrichtigen Sie alle registrierten Viewer über das ausstehende Herunterfahren, indem Sie ihre IMAPIViewAdviseSink::OnShutdown-Methoden aufrufen.

  7. 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.

  8. Rufen Sie die MAPIFreeBuffer-Funktion auf, um den Arbeitsspeicher für die Eigenschaften Ihres Formulars freizugeben.

  9. Rufen Sie die IUnknown::Release-Methode Ihres Formulars auf, die dem AddRef-Aufruf in Schritt 2 entspricht.

  10. 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

IMAPIMessageSite::SaveMessage

IMAPIViewAdviseSink::OnShutdown

IMAPIViewContext::SetAdviseSink

MAPIFreeBuffer

IMAPIForm : IUnknown