set_terminate (CRT)

Installiert besitzen die von terminateEnderoutine aufgerufen werden soll.

terminate_function set_terminate(
   terminate_function termFunction
);

Parameter

  • termFunction
    Zeiger auf eine Funktion mit beendens zu schreiben.

Rückgabewert

Gibt einen Zeiger auf die vorherige Funktion zurück, die von set_terminate registriert ist, sodass die vorherige Funktion später wiederhergestellt werden kann.Wenn keine vorherige Funktion festgelegt wurde, ist der Rückgabewert verwendet werden, um das Standardverhalten wiederherzustellen. Dieser Wert kann NULL sein.

Hinweise

Die set_terminate-Funktion installiert termFunction als die Funktion, die von terminateaufgerufen wird.set_terminate wird verwendet mit der C++-Ausnahmebehandlung behandelnden und wird an jedem Punkt im Programm aufgerufen werden, bevor die Ausnahme ausgelöst wird.terminate Aufrufe abort standardmäßig.Sie können diese Standardeinstellung ändern, indem Sie das Feature für Kündigungs, Schreiben und set_terminate mit dem Namen der Funktion als Argument besitzen aufrufen.terminate ruft die letzte Funktion als Argument angegeben set_terminate.Nachdem Sie alle gewünschten Aufgaben Bereinigung ausgeführt wurde, sollte termFunction das Programm beenden.Wenn er nicht beendet (sofern der Rückgabe an die aufrufende Funktion), wird abort aufgerufen.

In einer Multithreadumgebung beenden Sie Funktionen verwaltet werden separat für jeden Thread.Jeder neue Thread muss eigene Funktion beenden installieren.Daher ist jeder Thread verantwortlich für die eigene Kündigungs Klassenbehandlung.

Der terminate_function-Typ wird in EH.H als Zeiger an eine benutzerdefinierte Funktion, Kündigungs termFunction definiert, die voidzurückgibt.Die benutzerdefinierte Funktion termFunction kann keine Argumente übernehmen und sollte nicht auf seinen Aufrufer zurückkehren.Wenn dies der Fall ist, wird abort aufgerufen.Eine Ausnahme kann nicht aus termFunctionausgelöst werden.

typedef void ( *terminate_function )( );
HinweisHinweis

Die set_terminate-Funktion funktioniert nur außerhalb des Debuggers.

Es wird ein einzelner set_terminate-Handler für alle dynamisch verknüpfte DLLs und EXEs. Auch wenn Sie set_terminate aufrufen, wird der Handler durch andere ersetzt oder ersetzen Sie können einen Handler, der durch ein anderes DLL- oder EXE-Datei festgelegt ist.

Der Name dieser Funktion /clr:purenicht unterstützt.

Anforderungen

Routine

Erforderlicher Header

set_terminate

<eh.h>

Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.

Beispiel

Weitere Informationen finden Sie im Beispiel für Sie beenden.

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Ausnahmebehandlungs-Routinen

Abbruch

_get_terminate

set_unexpected (CRT)

Beenden Sie (CRT)

unerwartet (CRT)