Il ne semble pas y avoir beaucoup d'explications sur ce sujet, apparemment, mais les codes de sortie sont supposés être utilisés pour indiquer comment le processus s'est arrêté, 0
tend à signifier qu'il s'est arrêté en toute sécurité tandis que toute autre valeur tend à signifier qu'il ne s'est pas arrêté comme prévu. Mais ce code de sortie peut être défini dans le code par vous-même pour complètement ignorer cela.
Le lien le plus proche que j'ai trouvé pour obtenir plus d'informations est celui-ci
Citation du lien ci-dessus:
Quelle que soit la méthode de sortie, l'entier que vous retournez de votre processus ou thread doit être des valeurs de 0 à 255 (8 bits). Une valeur nulle indique le succès, tandis qu'une valeur non nulle indique l'échec. Bien que vous puissiez essayer de retourner n'importe quelle valeur entière en tant que code de sortie, seul le byte le plus bas de l'entier est retourné de votre processus ou thread en tant que partie d'un code de sortie. Les octets d'ordre supérieur sont utilisés par le système d'exploitation pour transmettre des informations spéciales sur le processus. Le code de sortie est très utile dans les programmes de lot/shell qui exécutent conditionnellement d'autres programmes en fonction du succès ou de l'échec de l'un d'eux.
À partir de la documentation pour GetEXitCodeThread
Important La fonction GetExitCodeThread renvoie un code d'erreur valide défini par l'application uniquement après la terminaison 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) comme code d'erreur, les applications qui testent cette valeur pourraient l'interpréter comme signifiant que le thread est toujours en cours d'exécution et continuer à tester l'achèvement du thread après la terminaison du thread, ce qui pourrait plonger l'application dans une boucle infinie.
Ma compréhension de tout cela est que le code de sortie n'a pas beaucoup d'importance si vous utilisez des threads dans votre propre application pour votre propre application. L'exception à cela est peut-être si vous exécutez quelques threads en même temps qui dépendent les uns des autres. S'il y a une exigence pour qu'une source extérieure lise ce code d'erreur, vous pouvez le définir pour que d'autres applications connaissent l'état de votre thread.