Função SuspendThread (processthreadsapi.h)

Suspende o thread especificado.

Um aplicativo de 64 bits pode suspender um thread WOW64 usando a função Wow64SuspendThread .

Sintaxe

DWORD SuspendThread(
  [in] HANDLE hThread
);

Parâmetros

[in] hThread

Um identificador para o thread que deve ser suspenso.

O identificador deve ter o direito de acesso THREAD_SUSPEND_RESUME . Para obter mais informações, consulte Segurança de thread e direitos de acesso.

Retornar valor

Se a função for bem-sucedida, o valor retornado será a contagem de suspensão anterior do thread; caso contrário, será (DWORD) -1. Para obter informações de erro estendidas, use a função GetLastError .

Comentários

Se a função for bem-sucedida, a execução do thread especificado será suspensa e a contagem de suspensão do thread será incrementada. Suspender um thread faz com que o thread pare de executar o código do modo de usuário (aplicativo).

Essa função foi projetada principalmente para uso por depuradores. Ele não se destina a ser usado para sincronização de thread. Chamar SuspendThread em um thread que possui um objeto de sincronização, como um mutex ou seção crítica, pode levar a um deadlock se o thread de chamada tentar obter um objeto de sincronização pertencente a um thread suspenso. Para evitar essa situação, um thread dentro de um aplicativo que não é um depurador deve sinalizar o outro thread para se suspender. O thread de destino deve ser projetado para watch para esse sinal e responder adequadamente.

Cada thread tem uma contagem de suspensão (com um valor máximo de MAXIMUM_SUSPEND_COUNT). Se a contagem de suspensão for maior que zero, o thread será suspenso; caso contrário, o thread não será suspenso e será qualificado para execução. Chamar SuspendThread faz com que a contagem de suspensão do thread de destino seja incrementada. Tentar incrementar além da contagem máxima de suspensão causa um erro sem incrementar a contagem.

A função ResumeThread diminui a contagem de suspensão de um thread suspenso.

Windows Phone 8.1: essa função tem suporte para aplicativos Windows Phone Store no Windows Phone 8.1 e posterior.

Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e posteriores.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho processthreadsapi.h (inclua Windows.h no Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Biblioteca Kernel32.lib; WindowsPhoneCore.lib no Windows Phone 8.1
DLL Kernel32.dll; KernelBase.dll no Windows Phone 8.1

Confira também

OpenThread

Funções de thread e processo

ResumeThread

Suspendendo a execução do thread

Threads