Fonction SetUnhandledExceptionFilter (errhandlingapi.h)
Permet à une application de remplacer le gestionnaire d’exceptions de niveau supérieur de chaque thread d’un processus.
Après avoir appelé cette fonction, si une exception se produit dans un processus qui n’est pas en cours de débogage et que l’exception arrive au filtre d’exception non géré, ce filtre appelle la fonction de filtre d’exception spécifiée par le paramètre lpTopLevelExceptionFilter .
Syntaxe
LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(
[in] LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
);
Paramètres
[in] lpTopLevelExceptionFilter
Pointeur vers une fonction de filtre d’exceptions de niveau supérieur qui sera appelée chaque fois que la fonction UnhandledExceptionFilter obtient le contrôle et que le processus n’est pas débogué. La valeur NULL pour ce paramètre spécifie la gestion par défaut dans UnhandledExceptionFilter.
La fonction de filtre a une syntaxe similaire à celle de UnhandledExceptionFilter : elle prend un paramètre unique de type LPEXCEPTION_POINTERS, a une convention d’appel WINAPI et retourne une valeur de type LONG. La fonction de filtre doit retourner l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Retournez à partir de UnhandledExceptionFilter et exécutez le gestionnaire d’exceptions associé. Cela entraîne généralement l’arrêt du processus. |
|
Retournez à partir de UnhandledExceptionFilter et poursuivez l’exécution à partir du point de l’exception. Notez que la fonction de filtre est libre de modifier l’état de continuation en modifiant les informations d’exception fournies via son paramètre LPEXCEPTION_POINTERS . |
|
Poursuivez l’exécution normale de UnhandledExceptionFilter. Cela signifie respecter les indicateurs SetErrorMode ou appeler le message contextuel Erreur d’application. |
Valeur retournée
La fonction SetUnhandledExceptionFilter retourne l’adresse du filtre d’exception précédent établi avec la fonction . Une valeur de retour NULL signifie qu’il n’existe actuellement aucun gestionnaire d’exceptions de niveau supérieur.
Remarques
L’émission de SetUnhandledExceptionFilter remplace le filtre d’exception de niveau supérieur existant pour tous les threads existants et futurs dans le processus d’appel.
Le gestionnaire d’exceptions spécifié par lpTopLevelExceptionFilter est exécuté dans le contexte du thread à l’origine de l’erreur. Cela peut affecter la capacité du gestionnaire d’exceptions à récupérer à partir de certaines exceptions, telles qu’une pile non valide.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | errhandlingapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
Fonctions de gestion structurée des exceptions