Função ExitProcess (processthreadsapi.h)
Encerra o processo de chamada e todos os seus threads.
Sintaxe
void ExitProcess(
[in] UINT uExitCode
);
Parâmetros
[in] uExitCode
O código de saída para o processo e todos os threads.
Retornar valor
Nenhum
Comentários
Use a função GetExitCodeProcess para recuperar o valor de saída do processo. Use a função GetExitCodeThread para recuperar o valor de saída de um thread.
Sair de um processo causa o seguinte:
- Todos os threads no processo, exceto o thread de chamada, encerram a execução sem receber uma notificação de DLL_THREAD_DETACH.
- Os estados de todos os threads encerrados na etapa 1 são sinalizados.
- As funções de ponto de entrada de todas as DLLs (bibliotecas de vínculo dinâmico) carregadas são chamadas com DLL_PROCESS_DETACH.
- Depois que todas as DLLs anexadas tiverem executado qualquer código de encerramento de processo, a função ExitProcess encerrará o processo atual, incluindo o thread de chamada.
- O estado do thread de chamada fica sinalizado.
- Todos os identificadores de objeto abertos pelo processo são fechados.
- O status de término do processo muda de STILL_ACTIVE para o valor de saída do processo.
- O estado do objeto de processo torna-se sinalizado, satisfazendo todos os threads que estavam aguardando o término do processo.
Chamar ExitProcess em uma DLL pode levar a erros inesperados do aplicativo ou do sistema. Lembre-se de chamar ExitProcess de uma DLL somente se você souber quais aplicativos ou componentes do sistema carregarão a DLL e se é seguro chamar ExitProcess nesse contexto.
Sair de um processo não faz com que os processos filho sejam encerrados.
Sair de um processo não remove necessariamente o objeto de processo do sistema operacional. Um objeto de processo é excluído quando o último identificador do processo é fechado.
Exemplos
Para obter um exemplo, consulte Criando um processo filho com entrada e saída redirecionadas.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | processthreadsapi.h (inclua Windows.h no Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |