Partager via


Fonction PowerSetRequest (winbase.h)

Incrémente le nombre de demandes d’alimentation du type spécifié pour un objet power request.

Syntaxe

BOOL PowerSetRequest(
  [in] HANDLE             PowerRequest,
  [in] POWER_REQUEST_TYPE RequestType
);

Paramètres

[in] PowerRequest

Handle d’un objet power request.

[in] RequestType

Type de demande d’alimentation à incrémenter. Ce paramètre peut prendre les valeurs suivantes.

Valeur Description
PowerRequestDisplayRequiredred L’affichage reste activé même s’il n’y a pas d’entrée utilisateur pendant une période prolongée.

Note: Un PowerRequestSystemRequired doit être pris en plus d’un PowerRequestDisplayRequired pour garantir que l’affichage reste allumé et que le système n’entre pas en veille pendant la durée de la demande.
PowerRequestSystemRequiredred Le système continue à s’exécuter au lieu d’entrer en veille après une période d’inactivité de l’utilisateur.
PowerRequestAwayModeRequiredred Le système passe en mode absent au lieu de la mise en veille en réponse à une action explicite de l’utilisateur. En mode absent, le système continue de fonctionner, mais désactive l’audio et la vidéo pour donner l’apparence de veille. PowerRequestAwayModeRequired s’applique uniquement aux systèmes de veille traditionnels (S3).
PowerRequestExecutionRequiredred Le processus appelant continue à s’exécuter au lieu d’être suspendu ou arrêté par les mécanismes de gestion de la durée de vie du processus. Le moment et la durée d’exécution du processus dépendent des paramètres du système d’exploitation et de la stratégie d’alimentation.

Sur les systèmes de veille traditionnels (S3), une requête PowerRequestExecutionRequired active implique PowerRequestSystemRequired.

Valeur retournée

Si la fonction réussit, elle retourne une valeur différente de zéro.

Si la fonction échoue, elle retourne zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Sur les systèmes de secours modernes sur l’alimentation DC, les demandes d’alimentation système et d’exécution requises sont arrêtées 5 minutes après l’expiration du délai d’attente du système.

À l’exception de PowerRequestAwayModeRequired sur les systèmes de veille traditionnels (S3), les demandes d’alimentation sont arrêtées lors de l’entrée en veille du système initiée par l’utilisateur (bouton d’alimentation, fermeture du couvercle ou sélection de mise en veille dans le menu Démarrer ).

Pour économiser l’alimentation et offrir la meilleure expérience utilisateur, les applications qui utilisent les demandes d’alimentation doivent suivre les meilleures pratiques suivantes :

  • Lors de la création d’une demande d’alimentation, fournissez une chaîne de texte localisée qui décrit la raison de la demande dans la structure REASON_CONTEXT .
  • Appelez PowerSetRequest immédiatement avant le scénario qui nécessite la demande.
  • Appelez PowerClearRequest pour décrémenter le nombre de références de la requête dès que le scénario est terminé.
  • Nettoyez tous les objets de requête et les handles associés avant la fin du processus ou l’arrêt du service.

Configuration requise

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

Voir aussi

PowerClearRequest

PowerCreateRequest