_execute_onexit_table
, _initialize_onexit_table
, _register_onexit_function
Registra le routine da chiamare in fase di uscita.
Sintassi
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
);
Parametri
table
[in, out] Puntatore alla tabella delle onexit
funzioni.
function
[in] Puntatore a una funzione da aggiungere alla tabella delle onexit
funzioni.
Valore restituito
Se ha esito positivo, la funzione restituisce 0. In caso contrario, restituisce un valore negativo.
Osservazioni:
Queste funzioni sono dettagli di implementazione dell'infrastruttura usati per supportare il runtime C e non devono essere chiamate direttamente dal codice. Il runtime C usa una onexit
tabella di funzioni per rappresentare la sequenza di funzioni registrate dalle chiamate a atexit
, at_quick_exit
e _onexit
. La onexit
struttura dei dati della tabella delle funzioni è un dettaglio di implementazione opaca del runtime C. L'ordine e il significato dei relativi membri dati possono cambiare. Non devono essere controllati da codice esterno.
La _initialize_onexit_table
funzione inizializza la tabella della onexit
funzione sul relativo valore iniziale. Questa funzione deve essere chiamata prima che la tabella della onexit
funzione venga passata a _register_onexit_function
o _execute_onexit_table
.
La _register_onexit_function
funzione aggiunge una funzione alla fine della tabella delle onexit
funzioni.
La _execute_onexit_table
funzione esegue tutte le funzioni nella tabella delle onexit
funzioni, cancella la tabella e quindi restituisce . Dopo una chiamata a _execute_onexit_table
, la tabella è in uno stato non valido. Deve essere reinizializzata da una chiamata a _initialize_onexit_table
prima che venga usata di nuovo.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_initialize_onexit_table , _register_onexit_function , _execute_onexit_table |
C, C++: <process.h> |
Le _initialize_onexit_table
funzioni , _register_onexit_function
e _execute_onexit_table
sono specifiche di Microsoft. Per informazioni sulla compatibilità, vedere Compatibilità.