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 du processus et de tous les threads.
Valeur de retour
None
Notes
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 sortie d’un processus entraîne les causes suivantes :
- Tous les threads du processus, à l’exception du thread appelant, terminent leur exécution sans recevoir de notification de DLL_THREAD_DETACH.
- Les états de tous les threads arrêtés à l’étape 1 deviennent signalés.
- Les fonctions de point d’entrée de toutes les bibliothèques de liens dynamiques chargées sont appelées avec DLL_PROCESS_DETACH.
- Une fois que toutes les DLL jointes ont exécuté n’importe quel code de terminaison de processus, la fonction ExitProcess met fin au processus actuel, y compris le thread appelant.
- L’état du thread appelant devient signalé.
- Tous les handles d’objet ouverts par le processus sont fermés.
- L’état d’arrêt du processus passe de STILL_ACTIVE à la valeur de sortie du processus.
- L’état de l’objet de processus devient signalé, satisfaisant tous les threads qui attendaient que le processus se termine.
L’appel de ExitProcess dans une DLL peut entraîner des erreurs inattendues d’application ou de système. Veillez à appeler ExitProcess à partir d’une DLL uniquement si vous savez quelles applications ou composants système chargeront 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 entrée et sortie redirigées.
Configuration requise
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 Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2, Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |