set_terminate (CRT)
Instala sua própria rotina de conclusão a ser chamada por terminate.
terminate_function set_terminate(
terminate_function termFunction
);
Parâmetros
- termFunction
Ponteiro para finalizar uma função que você grave.
Valor de retorno
Retorna um ponteiro para a função previous registrada por set_terminate de forma que a função anterior pode ser restaurados posteriormente. Se nenhuma função anterior foi definida, o valor de retorno pode ser usado para restaurar o comportamento padrão; esse valor pode ser NULL.
Comentários
A função de set_terminate instala termFunction como a função chamada por terminate. set_terminate é usado com manipulação de exceção C++ e pode ser chamado em qualquer momento do programa antes que a exceção seja gerada. chamadas abort determinate por padrão. Você pode alterar esse padrão escrevendo sua própria função de término e chamando set_terminate com o nome da função como seu argumento. terminate chama a função last especificada como um argumento para set_terminate. Depois de executar qualquer tarefa desejada de limpeza, termFunction deve sair do programa. Se não é encerrado (se retorna ao chamador), abort é chamado.
Em um ambiente multithread, encerre funções são mantidos separados para cada thread. Necessidades das novas cada thread de instalar seus próprios encerram a função. Assim, cada thread é responsável de sua própria manipulação de término.
O tipo de terminate_function é definido em EH.H como um ponteiro para uma função definida pelo usuário do término, termFunction que retorna void. A função personalizada termFunction não pode aceitar argumentos e não deve retornar ao chamador. Se fizer isso, abort é chamado. Uma exceção não pode ser gerada a partir de termFunction.
typedef void ( *terminate_function )( );
Dica
A função de set_terminate só funciona fora do depurador.
Há um único manipulador de set_terminate para todas as dlls ou Execuções dinamicamente vinculado; mesmo se você chamar set_terminate seu manipulador pode ser substituído por outro, ou você pode substituir um manipulador definido por outro DLL ou por um EXE.
Essa função não tem suporte em /clr:pure.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
set_terminate |
<eh.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Exemplo
Consulte o exemplo de encerrar.
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.