_execute_onexit_table
, _initialize_onexit_table
, _register_onexit_function
Gerencia as rotinas que serão chamadas no tempo de saída.
Sintaxe
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, fora] Ponteiro para a onexit
tabela de funções.
function
[em] Ponteiro para uma função a ser adicionada à tabela de onexit
funções.
Valor retornado
Se for bem-sucedida, a função retornará 0. Caso contrário, ele retornará um valor negativo.
Comentários
Essas funções são detalhes de implementação de infraestrutura usados para dar suporte ao runtime C e não devem ser chamadas diretamente do seu código. O tempo de execução C usa uma onexit
tabela de funções para representar a sequência de funções registradas por chamadas para atexit
, at_quick_exit
e _onexit
. A onexit
estrutura de dados da tabela de funções é um detalhe de implementação opaco do tempo de execução C; a ordem e o significado de seus membros de dados podem ser alterados. Eles não devem ser inspecionados por código externo.
A _initialize_onexit_table
função inicializa a onexit
tabela de funções para seu valor inicial. Essa função deve ser chamada antes que a tabela de onexit
funções seja passada para ou _register_onexit_function
_execute_onexit_table
.
A _register_onexit_function
função acrescenta uma função ao final da tabela de onexit
funções.
A _execute_onexit_table
função executa todas as funções na onexit
tabela de funções, limpa a tabela e retorna. Após uma chamada para _execute_onexit_table
, a tabela está em um estado inválido; ela deve ser reinicializada por uma chamada para _initialize_onexit_table
antes de ser usada novamente.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_initialize_onexit_table , _register_onexit_function , _execute_onexit_table |
C, C++: <process.h> |
As funções _initialize_onexit_table
, _register_onexit_function
e _execute_onexit_table
são específicas da Microsoft. Para obter informações sobre compatibilidade, consulte Compatibilidade.