Поделиться через


_execute_onexit_table, , _initialize_onexit_table_register_onexit_function

Управляет подпрограммами, которые должны вызываться во время выхода.

Синтаксис

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

Параметры

table
[in, out] Указатель на таблицу onexit функций.

function
[in] Указатель на функцию, добавляемую в таблицу onexit функций.

Возвращаемое значение

В случае успешного выполнения функция возвращает значение 0. В противном случае возвращает отрицательное значение.

Замечания

Эти функции — это сведения о реализации инфраструктуры, используемые для поддержки среды выполнения C и не должны вызываться непосредственно из кода. Среда выполнения C использует таблицу onexit функций для представления последовательности функций, зарегистрированных вызовами atexit, at_quick_exitи _onexit. Структура onexit данных таблицы функций — это непрозрачная информация о реализации среды выполнения C; порядок и смысл элементов данных может измениться. Они не должны проверяться внешним кодом.

Функция _initialize_onexit_table инициализирует таблицу onexit функций в исходное значение. Эта функция должна вызываться перед передачей onexit _register_onexit_function в таблицу функций либо _execute_onexit_table.

Функция _register_onexit_function добавляет функцию в конец onexit таблицы функций.

Функция _execute_onexit_table выполняет все функции в onexit таблице функций, очищает таблицу, а затем возвращает. После вызова _execute_onexit_tableтаблица находится в недопустимом состоянии; его необходимо повторно инициализировать с помощью вызова _initialize_onexit_table , прежде чем он будет использоваться снова.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок
_initialize_onexit_table, , _register_onexit_function_execute_onexit_table C, C++: <process.h>

Функции _initialize_onexit_tableи _execute_onexit_table функции _register_onexit_functionотносятся к корпорации Майкрософт. Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

atexit
exit, , _Exit_exit
_onexit, _onexit_m