_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
относятся к корпорации Майкрософт. Дополнительные сведения о совместимости см. в разделе Совместимость.