Partager via


GetExitCodeProcess, fonction (processthreadsapi.h)

Récupère le status d’arrêt du processus spécifié.

Syntaxe

BOOL GetExitCodeProcess(
  [in]  HANDLE  hProcess,
  [out] LPDWORD lpExitCode
);

Paramètres

[in] hProcess

Handle du processus.

Le handle doit avoir le droit d’accès PROCESS_QUERY_INFORMATION ou PROCESS_QUERY_LIMITED_INFORMATION . Pour plus d’informations, consultez Droits d’accès et de sécurité des processus.

Windows Server 2003 et Windows XP : Le handle doit avoir le droit d’accès PROCESS_QUERY_INFORMATION .

[out] lpExitCode

Pointeur vers une variable pour recevoir le status d’arrêt du processus. Pour plus d'informations, consultez la section Notes.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Cette fonction retourne immédiatement. Si le processus n’est pas terminé et que la fonction réussit, le status retourné est STILL_ACTIVE (macro pour STATUS_PENDING (minwinbase.h)). Si le processus s’est terminé et que la fonction réussit, la status retournée est l’une des valeurs suivantes :

  • Valeur de sortie spécifiée dans la fonction ExitProcess ou TerminateProcess .
  • Valeur de retour de la fonction main ou WinMain du processus.
  • Valeur d’exception pour une exception non gérée qui a provoqué l’arrêt du processus.

Important

La fonction GetExitCodeProcess retourne un code d’erreur valide défini par l’application uniquement après l’arrêt du thread. Par conséquent, une application ne doit pas utiliser STILL_ACTIVE (259) comme code d’erreur (STILL_ACTIVE est une macro pour STATUS_PENDING (minwinbase.h)). Si un thread retourne STILL_ACTIVE (259) en tant que code d’erreur, les applications qui testent cette valeur peuvent l’interpréter comme signifiant que le thread est toujours en cours d’exécution et continuer à tester l’achèvement du thread une fois le thread terminé, ce qui peut placer l’application dans une boucle infinie.

Configuration requise

Condition requise Valeur
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 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

Voir aussi

ExitProcess

ExitThread

Fonctions de processus et de thread

Processus

TerminateProcess

Arrêt d’un processus

WinMain