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 |