Compartilhar via


TerminateThread

Windows Mobile SupportedWindows Embedded CE Supported

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

Other Resources

Modified Kernel APIs