Sdílet prostřednictvím


_execute_onexit_table, , _initialize_onexit_table_register_onexit_function

Spravuje rutiny, které se mají volat při ukončení.

Syntaxe

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
    );

Parametry

table
[in, out] Ukazatel na onexit tabulku funkcí

function
[v] Ukazatel na funkci, která se má přidat do onexit tabulky funkcí.

Vrácená hodnota

V případě úspěchu vrátí funkce hodnotu 0. V opačném případě vrátí zápornou hodnotu.

Poznámky

Tyto funkce jsou podrobnosti implementace infrastruktury používané k podpoře modulu runtime jazyka C a neměly by se volat přímo z kódu. Modul runtime jazyka C používá onexit tabulku funkcí, která představuje posloupnost funkcí registrovaných voláními atexit, at_quick_exita _onexit. Datová onexit struktura tabulky funkcí je neprůznamná implementace modulu runtime jazyka C; pořadí a význam jejích datových členů se může změnit. Neměly by být kontrolovány externím kódem.

Funkce _initialize_onexit_table inicializuje onexit tabulku funkcí na počáteční hodnotu. Tato funkce musí být volána před předáním onexit tabulky funkcí buď _register_onexit_function nebo _execute_onexit_table.

Funkce _register_onexit_function připojí funkci na konec onexit tabulky funkcí.

Funkce _execute_onexit_table spustí všechny funkce v onexit tabulce funkcí, vymaže tabulku a vrátí ji. Po volání _execute_onexit_tableje tabulka v neplatném stavu. Musí být znovu inicializována voláním, aby _initialize_onexit_table se znovu použila.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Rutina Požadovaný hlavičkový soubor
_initialize_onexit_table, , _register_onexit_function_execute_onexit_table C, C++: <process.h>

Funkce _initialize_onexit_tablea , _register_onexit_function_execute_onexit_table jsou specifické pro Microsoft. Informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

atexit
exit, , _Exit_exit
_onexit, _onexit_m