Condividi tramite


Funzione SetSystemPowerState (winbase.h)

[SetSystemPowerState è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Le applicazioni scritte per Windows Vista e versioni successive devono usare Invece SetSuspendState .

Sospende il sistema arrestando l'alimentazione. A seconda del parametro ForceFlag , la funzione sospende immediatamente o richiede l'autorizzazione da tutte le applicazioni e i driver di dispositivo prima di farlo.

Sintassi

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

Parametri

[in] fSuspend

Se questo parametro è TRUE, il sistema viene sospeso. Se il parametro è FALSE, il sistema viene ibernato.

[in] fForce

Il parametro non ha alcun effetto.

Valore restituito

Se l'alimentazione è stata sospesa e ripristinata successivamente, il valore restituito è diverso da zero.

Se il sistema non è stato sospeso, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Il processo di chiamata deve avere il privilegio di SE_SHUTDOWN_NAME . Per abilitare il privilegio SE_SHUTDOWN_NAME , usare la funzione AdjustTokenPrivileges . Per altre informazioni, vedere Modifica dei privilegi in un token.

Se un'applicazione o un driver nega l'autorizzazione per sospendere l'operazione, la funzione trasmette un evento PBT_APMQUERYSUSPENDFAILED a ogni applicazione e driver. Se l'alimentazione viene sospesa, questa funzione viene restituita solo dopo la ripresa dell'operazione di sistema e i messaggi correlati WM_POWERBROADCAST sono stati trasmessi a tutte le applicazioni e i driver.

Questa funzione è simile alla funzione SetSuspendState .

Per compilare un'applicazione che usa questa funzione, definire la macro _WIN32_WINNT come 0x0400 o successiva. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

Funzioni di risparmio energia

SetSuspendState

WM_POWERBROADCAST