Freigeben über


_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_exitund _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_tablemehrere _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_tableTabelle 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_functionund _execute_onexit_table Funktionen sind Microsoft-spezifisch. Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Siehe auch

atexit
exit, _Exit_exit
_onexit, _onexit_m