Partager via


Fonction SetSystemPowerState (winbase.h)

[SetSystemPowerState est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Les applications écrites pour Windows Vista et versions ultérieures doivent utiliser SetSuspendState à la place.]

Interrompt le système en arrêtant l’alimentation. Selon le paramètre ForceFlag , la fonction interrompt immédiatement l’opération ou demande l’autorisation de toutes les applications et pilotes de périphérique avant de le faire.

Syntaxe

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

Paramètres

[in] fSuspend

Si ce paramètre a la valeur TRUE, le système est suspendu. Si le paramètre est FALSE, le système met en veille prolongée.

[in] fForce

Ce paramètre est sans effet.

Valeur retournée

Si l’alimentation a été interrompue et restaurée par la suite, la valeur de retour est différente de zéro.

Si le système n’a pas été suspendu, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Le processus appelant doit avoir le privilège SE_SHUTDOWN_NAME . Pour activer le privilège SE_SHUTDOWN_NAME , utilisez la fonction AdjustTokenPrivileges . Pour plus d’informations, consultez Modification des privilèges dans un jeton.

Si une application ou un pilote refuse l’autorisation de suspendre l’opération, la fonction diffuse un événement PBT_APMQUERYSUSPENDFAILED à chaque application et pilote. Si l’alimentation est interrompue, cette fonction ne retourne que lorsque le fonctionnement du système a repris et que les messages associés WM_POWERBROADCAST ont été diffusés à toutes les applications et pilotes.

Cette fonction est similaire à la fonction SetSuspendState .

Pour compiler une application qui utilise cette fonction, définissez la macro _WIN32_WINNT comme 0x0400 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

Fonctions de gestion de l’alimentation

SetSuspendState

WM_POWERBROADCAST