ExitProcess, fonction (processthreadsapi.h)
Termine le processus appelant et tous ses threads.
Syntaxe
void ExitProcess(
[in] UINT uExitCode
);
Paramètres
[in] uExitCode
Code de sortie pour le processus et tous les threads.
Valeur de retour
None
Remarques
Utilisez la fonction GetExitCodeProcess pour récupérer la valeur de sortie du processus. Utilisez la fonction GetExitCodeThread pour récupérer la valeur de sortie d’un thread.
La fermeture d’un processus entraîne les événements suivants :
- Tous les threads du processus, à l’exception du thread appelant, terminent leur exécution sans recevoir de notification DLL_THREAD_DETACH.
- Les états de tous les threads terminés à l’étape 1 sont signalés.
- Les fonctions de point d’entrée de toutes les bibliothèques de liens dynamiques (DLL) chargées sont appelées avec DLL_PROCESS_DETACH.
- Une fois que toutes les DLL jointes ont exécuté un code d’arrêt de processus, la fonction ExitProcess termine le processus actuel, y compris le thread appelant.
- L’état du thread appelant est signalé.
- Tous les descripteurs d’objet ouverts par le processus sont fermés.
- La status d’arrêt du processus passe de STILL_ACTIVE à la valeur de sortie du processus.
- L’état de l’objet de processus est signalé, satisfaisant tous les threads qui attendaient l’arrêt du processus.
L’appel de ExitProcess dans une DLL peut entraîner des erreurs système ou d’application inattendues. Veillez à appeler ExitProcess à partir d’une DLL uniquement si vous savez quelles applications ou composants système vont charger la DLL et qu’il est sûr d’appeler ExitProcess dans ce contexte.
La sortie d’un processus n’entraîne pas l’arrêt des processus enfants.
La sortie d’un processus ne supprime pas nécessairement l’objet de processus du système d’exploitation. Un objet de processus est supprimé lorsque le dernier handle du processus est fermé.
Exemples
Pour obtenir un exemple, consultez Création d’un processus enfant avec une entrée et une sortie redirigées.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | processthreadsapi.h (inclure Windows.h sur Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |