TerminateThread
9/8/2008
Essa função pára o segmento especificado.
Syntax
BOOL TerminateThread(
HANDLE hThread,
DWORD dwExitCode
);
Parameters
- hThread
[in, Out] Identificador para o segmento para finalizar.
- dwExitCode
[no] Especifica a codificar sair para o segmento. Para recuperar valor sair de um segmento, use a função GetExitCodeThread.
Return Value
Nonzero indica sucesso. Zero indica falha. Para informações de erro estendidas get, chamar GetLastError.
Remarks
Para todas as plataformas
Essa função é usada para causar um segmento para sair. Quando isso ocorrer, o segmento destino tem há chance para usuário executar-modo codificar.
As DLLs anexado para o segmento é notificado que o segmento está encerrando.
Ele também finaliza processo do segmento somente se o segmento in question for o principal ou primário segmento.
TerminateThread é uma função perigosa. O uso-lo somente em casos extremos o máximo.
Chamar esta função somente se você souber exatamente o que o destino segmento está ao fazer isso e você controle todas as codificar o segmento destino poderia ser execução no tempo da terminação.
A seguinte lista mostra exemplos de problemas que podem resultar por chamado TerminateThread:
- Se o segmento destino está manipulando o estado global de um DLL compartilhado, o estado do DLL poderia ser destruído, afetar outros usuários da DLL.
- Um segmento não é possível proteger-se contra TerminateThread Diferente controlando acessar para suas alças. O identificador segmento retornado pela função a CreateThread tem acessar THREAD_TERMINATE, portanto, qualquer chamador segurando uma dessas alças pode finalizar o segmento. O identificador retornado de CreateProcess só pode ser usado para em espera ou a consulta a codificar sair do processo ou segmento.
Se o segmento destino for o último segmento de um processo quando esta função é chamado, processo do segmento também é encerrado.
O estado do objeto de segmento se torna sinalizado, liberando outros segmentos que estão aguardando o segmento para finalizar. Terminação status do segmento muda de STILL_ACTIVE para o valor da dwExitCode parâmetro.
Encerrar um segmento não necessariamente remover o objeto segmento do sistema. Um objeto segmento é excluído quando o último identificador segmento está fechado.
Um segmento não pode ser finalizado enquanto faz um sistema chamar API. Quando a chamar API estiver completo e o segmento retorna ao espaço de endereço do processo de execução, ela é encerrada. Se o segmento nunca retornará de um sistema chamar API, ele não é finalizado.
Para Windows incorporado CE
Para obter mais informações sobre segmentos Consulte Modified Kernel APIs.
Requirements
Header | winbase.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 1.01 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Process and Thread Functions
CreateProcess
CreateThread
GetExitCodeThread