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 |