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 )( );
Hinweis |
---|
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.