BOOL TerminateThread(HANDLE Handle, DWORD CodeRetour);
Un thread se termine normalement par l'instruction return au sein de sa fonction principale.
#include <windows.h>
#include <winbase.h>
SECURITY_ATTRIBUTES AttributDeSecurites;
HANDLE Handle;
DWORD NumeroThread;
static DWORD WINAPI PrincipalThread(LPVOID Parametres)
{
...
return(0);
}
...
AttributDeSecurites.nLength=sizeof(SECURITY_ATTRIBUTES);
AttributDeSecurites.bInheritHandle=TRUE;
AttributDeSecurites.lpSecurityDescriptor=NULL;
Handle=CreateThread(&AttributDeSecurites, 0, PrincipalThread, (PVOID)"Bonjour le monde", 0, &NumeroThread);
if (!Handle)
{
...
}
...
if (!TerminateThread(Handle, 0))
{
...
}
...
Si le thread n'a pu être créé, le résultat est Faux.