_execute_onexit_table
, _initialize_onexit_table
, _register_onexit_function
Verwaltet die Routinen, die zum Zeitpunkt der Beendigung aufgerufen werden sollen.
Syntax
int _initialize_onexit_table(
_onexit_table_t* table
);
int _register_onexit_function(
_onexit_table_t* table,
_onexit_t function
);
int _execute_onexit_table(
_onexit_table_t* table
);
Parameter
table
[in, out] Zeigen Sie auf die onexit
Funktionstabelle.
function
[in] Zeiger auf eine Funktion, die der onexit
Funktionstabelle hinzugefügt werden soll.
Rückgabewert
Wenn die Funktion erfolgreich verläuft, wird 0 zurückgegeben. Andernfalls wird ein negativer Wert zurückgegeben.
Hinweise
Diese Funktionen sind Infrastrukturimplementierungsdetails, die zur Unterstützung der C-Runtime verwendet werden, und sollten nicht direkt aus Ihrem Code aufgerufen werden. Die C-Laufzeit verwendet eine onexit
Funktionstabelle, um die Sequenz von Funktionen darzustellen, die durch Aufrufe von atexit
, at_quick_exit
und _onexit
. Die onexit
Datenstruktur der Funktionstabelle ist ein undurchsichtiges Implementierungsdetail der C-Laufzeit. Die Reihenfolge und Bedeutung der Datenmber können sich ändern. Sie sollten nicht von externem Code überprüft werden.
Die _initialize_onexit_table
Funktion initialisiert die onexit
Funktionstabelle auf ihren Anfangswert. Diese Funktion muss aufgerufen werden, bevor die onexit
Funktionstabelle an eine oder _execute_onexit_table
mehrere _register_onexit_function
Funktionstabellen übergeben wird.
Die _register_onexit_function
Funktion fügt eine Funktion an das Ende der onexit
Funktionstabelle an.
Die _execute_onexit_table
Funktion führt alle Funktionen in der onexit
Funktionstabelle aus, löscht die Tabelle und gibt dann zurück. Nach einem Aufruf der _execute_onexit_table
Tabelle befindet sich die Tabelle in einem nicht gültigen Zustand. Sie muss von einem Aufruf _initialize_onexit_table
erneut initialisiert werden, bevor sie erneut verwendet wird.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_initialize_onexit_table , _register_onexit_function , _execute_onexit_table |
C, C++: <process.h> |
Die _initialize_onexit_table
, _register_onexit_function
und _execute_onexit_table
Funktionen sind Microsoft-spezifisch. Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für