Windows Win32Processos & threadskernel32.dll
TerminateThread
Encerra à força uma thread arbitrária de forma não cooperativa.
Descrição
Extremamente perigosa: a thread alvo é interrompida em qualquer ponto, sem chance de liberar locks ou recursos, podendo corromper o estado do processo. A documentação da Microsoft desaconselha seu uso salvo em último caso.
Header:
processthreadsapi.hDLL: kernel32.dllNative API: NtTerminateThreadAtenção
Não existe um equivalente seguro no Linux para isso — `pthread_cancel` com cancelamento assíncrono tem riscos parecidos e também é desencorajado pela mesma razão: recursos e locks podem ficar em estado inconsistente.
Assinatura
BOOL TerminateThread(HANDLE hThread, DWORD dwExitCode);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hThread | HANDLE | Handle da thread a terminar. |
| dwExitCode | DWORD | Código de saída a reportar. |
Valor de retorno
Diferente de zero em sucesso; 0 em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_ACCESS_DENIED(5)
- Acesso negado.
- ERROR_INVALID_HANDLE(6)
- O identificador (handle) informado é inválido.