Voltar à lista
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: NtCreateThreadEx

Assinatura

HANDLE CreateThread(
    LPSECURITY_ATTRIBUTES lpThreadAttributes,
    SIZE_T dwStackSize,
    LPTHREAD_START_ROUTINE lpStartAddress,
    LPVOID lpParameter,
    DWORD dwCreationFlags,
    LPDWORD lpThreadId
);

Parâmetros

ParâmetroTipoDescrição
lpThreadAttributesLPSECURITY_ATTRIBUTESAtributos de segurança da thread, ou NULL.
dwStackSizeSIZE_TTamanho inicial da pilha, ou 0 para o padrão do executável.
lpStartAddressLPTHREAD_START_ROUTINEFunção a executar na nova thread.
lpParameterLPVOIDArgumento único passado à função da thread.
dwCreationFlagsDWORD0 para iniciar imediatamente, ou CREATE_SUSPENDED.
lpThreadIdLPDWORDSe 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