_execute_onexit_table
, , _initialize_onexit_table
_register_onexit_function
Zarządza procedurami, które mają być wywoływane w czasie zakończenia.
Składnia
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
);
Parametry
table
[in, out] Wskaźnik do onexit
tabeli funkcji.
function
[in] Wskaźnik do funkcji w celu dodania onexit
do tabeli funkcji.
Wartość zwracana
W przypadku powodzenia funkcja zwraca wartość 0. W przeciwnym razie zwraca wartość ujemną.
Uwagi
Te funkcje to szczegóły implementacji infrastruktury używane do obsługi środowiska uruchomieniowego języka C i nie powinny być wywoływane bezpośrednio z kodu. Środowisko uruchomieniowe języka C używa onexit
tabeli funkcji do reprezentowania sekwencji funkcji zarejestrowanych przez wywołania do atexit
, at_quick_exit
i _onexit
. Struktura onexit
danych tabeli funkcji jest nieprzezroczystym szczegółem implementacji środowiska uruchomieniowego języka C. Kolejność i znaczenie jej składowych danych może ulec zmianie. Nie powinny być sprawdzane przez kod zewnętrzny.
Funkcja _initialize_onexit_table
inicjuje tabelę onexit
funkcji na wartość początkową. Ta funkcja musi być wywoływana przed przekazaniem onexit
tabeli funkcji do _register_onexit_function
elementu lub _execute_onexit_table
.
Funkcja _register_onexit_function
dołącza funkcję na końcu onexit
tabeli funkcji.
Funkcja _execute_onexit_table
wykonuje wszystkie funkcje w onexit
tabeli funkcji, czyści tabelę, a następnie zwraca. Po wywołaniu _execute_onexit_table
metody tabela jest w stanie nieprawidłowym; musi zostać ponownie zainicjowana przez wywołanie metody , zanim _initialize_onexit_table
zostanie ponownie użyta.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_initialize_onexit_table , , _register_onexit_function _execute_onexit_table |
C, C++: <process.h> |
Funkcje _initialize_onexit_table
, _register_onexit_function
i _execute_onexit_table
są specyficzne dla firmy Microsoft. Aby uzyskać informacje o zgodności, zobacz Zgodność.