Compartilhar via


Função SuspendThread (processthreadsapi.h)

Suspende o thread especificado.

Observação

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 acesso THREAD_SUSPEND_RESUME correto. Para obter mais informações, consulte de Direitos de Acesso e Segurança do Thread.

Valor de retorno

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 .

Observações

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 uma seção crítica, pode levar a um deadlock se o thread de chamada tentar obter um objeto de sincronização de propriedade de 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 observar 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 é suspenso e está 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 da 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 no Windows 8.1, Windows Server 2012 R2 e posterior.

Requisitos

Requisito Valor
Cliente mínimo suportado Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da 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
de DLL Kernel32.dll; KernelBase.dll no Windows Phone 8.1

Consulte também

OpenThread

Funções de processo e thread

ResumeThread

suspendendo de execução de thread

Tópicos