Windows Win32Processos & threadskernel32.dll
CreateThread
Cria uma nova thread executando dentro do processo chamador.
Descrição
Equivalente funcional a `clone` com CLONE_THREAD (ou `pthread_create(3)`) no Linux — a nova thread compartilha o espaço de endereçamento inteiro com as demais threads do processo.
Header:
processthreadsapi.hDLL: kernel32.dllNative API: NtCreateThreadExAssinatura
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| lpThreadAttributes | LPSECURITY_ATTRIBUTES | Atributos de segurança da thread, ou NULL. |
| dwStackSize | SIZE_T | Tamanho inicial da pilha, ou 0 para o padrão do executável. |
| lpStartAddress | LPTHREAD_START_ROUTINE | Função a executar na nova thread. |
| lpParameter | LPVOID | Argumento único passado à função da thread. |
| dwCreationFlags | DWORD | 0 para iniciar imediatamente, ou CREATE_SUSPENDED. |
| lpThreadId | LPDWORD | Se não for NULL, recebe o ID da nova thread. |
Valor de retorno
Um handle para a nova thread em sucesso; NULL em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_NOT_ENOUGH_MEMORY(8)
- Memória insuficiente para processar o comando.
- ERROR_INVALID_PARAMETER(87)
- Parâmetro incorreto.
Relacionadas
Equivalente em Linux x86_64