Compartilhar via


Função SetSystemPowerState (winbase.h)

[SetSystemPowerState está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Os aplicativos gravados para o Windows Vista e posteriores devem usar SetSuspendState em vez disso.]

Suspende o sistema desligando a energia. Dependendo do parâmetro ForceFlag , a função suspende a operação imediatamente ou solicita permissão de todos os aplicativos e drivers de dispositivo antes de fazer isso.

Sintaxe

BOOL SetSystemPowerState(
  [in] BOOL fSuspend,
  [in] BOOL fForce
);

Parâmetros

[in] fSuspend

Se esse parâmetro for TRUE, o sistema será suspenso. Se o parâmetro for FALSE, o sistema hibernará.

[in] fForce

Esse parâmetro não tem nenhum efeito.

Valor retornado

Se a energia tiver sido suspensa e restaurada posteriormente, o valor retornado será diferente de zero.

Se o sistema não tiver sido suspenso, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

O processo de chamada deve ter o privilégio SE_SHUTDOWN_NAME . Para habilitar o privilégio SE_SHUTDOWN_NAME , use a função AdjustTokenPrivileges . Para obter mais informações, consulte Alterando privilégios em um token.

Se qualquer aplicativo ou driver negar permissão para suspender a operação, a função transmitirá um evento PBT_APMQUERYSUSPENDFAILED para cada aplicativo e driver. Se a energia for suspensa, essa função retornará somente depois que a operação do sistema for retomada e as mensagens relacionadas WM_POWERBROADCAST tiverem sido transmitidas para todos os aplicativos e drivers.

Essa função é semelhante à função SetSuspendState .

Para compilar um aplicativo que usa essa função, defina a macro _WIN32_WINNT como 0x0400 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

Funções de gerenciamento de energia

SetSuspendState

WM_POWERBROADCAST