_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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der 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.