Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Manages the routines to be called at exit time.
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
    );
Parameters
table
[in, out] Pointer to the onexit function table.
function
[in] Pointer to a function to add to the onexit function table.
Return value
If successful, the function returns 0. Otherwise, it returns a negative value.
Remarks
These functions are infrastructure implementation details used to support the C runtime, and shouldn't be called directly from your code. The C runtime uses an onexit function table to represent the sequence of functions registered by calls to atexit, at_quick_exit, and _onexit. The onexit function table data structure is an opaque implementation detail of the C runtime; the order and meaning of its data members may change. They shouldn't be inspected by external code.
The _initialize_onexit_table function initializes the onexit function table to its initial value.  This function must be called before the onexit function table is passed to either _register_onexit_function or _execute_onexit_table.
The _register_onexit_function function appends a function to the end of the onexit function table.
The _execute_onexit_table function executes all of the functions in the onexit function table, clears the table, and then returns. After a call to _execute_onexit_table, the table is in a non-valid state; it must be reinitialized by a call to _initialize_onexit_table before it's used again.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Requirements
| Routine | Required header | 
|---|---|
_initialize_onexit_table, _register_onexit_function, _execute_onexit_table | 
C, C++: <process.h> | 
The _initialize_onexit_table, _register_onexit_function, and _execute_onexit_table functions are Microsoft-specific. For compatibility information, see Compatibility.