Partager via


_execute_onexit_table, _initialize_onexit_table, _register_onexit_function

Gère les routines à appeler au moment de la sortie.

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

Paramètres

table
[in, out] Pointeur vers la table de onexit fonctions.

function
[in] Pointeur vers une fonction à ajouter à la onexit table de fonctions.

Valeur retournée

Si elle réussit, la fonction retourne 0. Sinon, elle retourne une valeur négative.

Notes

Ces fonctions sont des détails d’implémentation d’infrastructure utilisés pour prendre en charge le runtime C et ne doivent pas être appelés directement à partir de votre code. Le runtime C utilise une onexit table de fonctions pour représenter la séquence de fonctions inscrites par des appels à atexit, at_quick_exitet _onexit. La onexit structure des données de la table de fonctions est un détail d’implémentation opaque du runtime C ; l’ordre et la signification de ses membres de données peuvent changer. Ils ne doivent pas être inspectés par du code externe.

La _initialize_onexit_table fonction initialise la onexit table de fonctions à sa valeur initiale. Cette fonction doit être appelée avant que la onexit table de fonctions soit passée à l’une ou l’autre _register_onexit_function_execute_onexit_table.

La _register_onexit_function fonction ajoute une fonction à la fin de la onexit table de fonctions.

La _execute_onexit_table fonction exécute toutes les fonctions de la onexit table de fonctions, efface la table, puis retourne. Après un appel à _execute_onexit_table, la table est dans un état non valide ; elle doit être réinitialisée par un appel avant de l’utiliser à _initialize_onexit_table nouveau.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
_initialize_onexit_table, _register_onexit_function, _execute_onexit_table C, C++ : <process.h>

Les _initialize_onexit_tablefonctions et les fonctions _register_onexit_function_execute_onexit_table sont spécifiques à Microsoft. Pour plus d’informations sur la compatibilité, consultez Compatibilité.

Voir aussi

atexit
exit, _Exit, _exit
_onexit, _onexit_m