set_terminate (CRT)
Installe votre propre routine d'arrêt soit appelée par terminate.
terminate_function set_terminate(
terminate_function termFunction
);
Paramètres
- termFunction
Pointeur vers une fonction de terminer que vous écrivez.
Valeur de retour
Retourne un pointeur vers une fonction précédente stockée par set_terminate afin que la fonction précédente puisse être restaurées ultérieurement.si aucune fonction précédente n'a été définie, la valeur de retour peut être utilisée pour restaurer le comportement par défaut ; cette valeur peut être NULL.
Notes
la fonction d' set_terminate installe termFunction comme fonction appelée par terminate.set_terminate est utilisé avec la gestion des exceptions C++ et peut être appelé à tout moment dans votre programme avant que l'exception a été levée.appels abort d'terminate par défaut.Vous pouvez modifier cette valeur par défaut en écrivant votre propre fonction d'arrêt et en appelant set_terminate avec le nom de la fonction comme argument.terminate appelle la dernière fonction donnée comme argument à set_terminate.Après avoir exécuté toutes les tâches voulues de nettoyage, termFunction doit quitter le programme.Si elle n'accepte pas (si elle revient à son appelant), abort est appelé.
Dans un environnement multithread, terminez les fonctions sont traités séparément pour chaque thread.Besoins de chaque les nouveaux threads d'installer son propre terminent la fonction.ainsi, chaque thread est responsable de sa propre gestion d'arrêt.
Le type d' terminate_function est défini dans EH.H en tant que pointeur vers une fonction définie par l'utilisateur d'arrêt, termFunction qui retourne void.Votre fonction personnalisée termFunction peut ne pas prendre argument et ne doit pas revenir à son appelant.Si tel est le cas, abort est appelé.une exception ne peut être levée d' termFunction.
typedef void ( *terminate_function )( );
[!REMARQUE]
La fonction d' set_terminate fonctionne uniquement en dehors de le débogueur.
Il existe un gestionnaire unique d' set_terminate pour toutes les DLL ou EXE dynamiquement liés ; même si vous appelez set_terminate votre gestionnaire peut être remplacée par une autre, ou vous pouvez remplacer un gestionnaire défini par une DLL ou un EXÉCUTABLE différent.
cette fonction n'est pas prise en charge sous /clr:pure.
Configuration requise
routine |
en-tête requis |
---|---|
set_terminate |
<eh.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
Consultez l'exemple pour achevez -le.
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.