_execute_onexit_table
, , _initialize_onexit_table
, _register_onexit_function
Administra las rutinas que se llaman a la hora de salida.
Sintaxis
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
);
Parámetros
table
[dentro, fuera] Puntero a la tabla de onexit
funciones.
function
[in] Puntero a una función que se va a agregar a la tabla de onexit
funciones.
Valor devuelto
Si se ejecuta correctamente, la función devuelve 0. De lo contrario, devuelve un valor negativo.
Comentarios
Estas funciones son detalles de implementación de infraestructura que se usan para admitir el entorno de ejecución de C y no se debe llamar directamente desde el código. El tiempo de ejecución de C usa una onexit
tabla de funciones para representar la secuencia de funciones registradas por llamadas a atexit
, at_quick_exit
y _onexit
. La onexit
estructura de datos de la tabla de funciones es un detalle de implementación opaco del tiempo de ejecución de C; el orden y el significado de sus miembros de datos pueden cambiar. El código externo no debe inspeccionarlo.
La _initialize_onexit_table
función inicializa la tabla de onexit
funciones en su valor inicial. Se debe llamar a esta función antes de pasar la onexit
tabla de funciones a _register_onexit_function
o _execute_onexit_table
.
La _register_onexit_function
función anexa una función al final de la onexit
tabla de funciones.
La _execute_onexit_table
función ejecuta todas las funciones de la onexit
tabla de funciones, borra la tabla y, a continuación, devuelve. Después de una llamada a _execute_onexit_table
, la tabla está en un estado no válido; se debe reinicializar mediante una llamada a _initialize_onexit_table
antes de que se use de nuevo.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
Routine | Encabezado necesario |
---|---|
_initialize_onexit_table , , _register_onexit_function , _execute_onexit_table |
C, C++: <process.h> |
Las funciones _initialize_onexit_table
, _register_onexit_function
e _execute_onexit_table
son específicas de Microsoft. Para obtener información sobre la compatibilidad, consulte Compatibilidad.