GetExitCodeThread, fonction (processthreadsapi.h)

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

Syntaxe

BOOL GetExitCodeThread(
  [in]  HANDLE  hThread,
  [out] LPDWORD lpExitCode
);

Paramètres

[in] hThread

Handle pour le thread.

Le handle doit avoir le droit d’accès THREAD_QUERY_INFORMATION ou THREAD_QUERY_LIMITED_INFORMATION . Pour plus d’informations, consultez Sécurité des threads et droits d’accès.

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

[out] lpExitCode

Pointeur vers une variable pour recevoir l’arrêt de thread status. 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 thread spécifié n’est pas terminé et que la fonction réussit, le status retourné est STILL_ACTIVE. Si le thread 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 ExitThread ou TerminateThread .
  • Valeur de retour de la fonction thread.
  • Valeur de sortie du processus du thread.
Important La fonction GetExitCodeThread 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. 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 continuent à tester l’achèvement du thread une fois le thread terminé, ce qui peut placer l’application dans une boucle infinie. Pour éviter ce problème, les appelants doivent appeler la fonction GetExitCodeThread uniquement après la confirmation de la fermeture du thread. Utilisez la fonction WaitForSingleObject avec une durée d’attente de zéro pour déterminer si un thread s’est arrêté.
 
Windows Phone 8.1 : cette fonction est prise en charge pour les applications Windows Phone Store sur Windows Phone 8.1 et versions ultérieures.

Windows 8.1 et Windows Server 2012 R2 : cette fonction est prise en charge pour les applications du Windows Store sur Windows 8.1, Windows Server 2012 R2 et versions ultérieures.

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 ; WindowsPhoneCore.lib sur Windows Phone 8.1
DLL Kernel32.dll ; KernelBase.dll sur Windows Phone 8.1

Voir aussi

ExitThread

GetExitCodeProcess

OpenThread

Fonctions de processus et de thread

TerminateThread

Arrêt d’un thread