Partager via


CallNtPowerInformation, fonction (powerbase.h)

Définit ou récupère les informations d’alimentation.

Syntaxe

NTSTATUS CallNtPowerInformation(
  [in]  POWER_INFORMATION_LEVEL InformationLevel,
  [in]  PVOID                   InputBuffer,
  [in]  ULONG                   InputBufferLength,
  [out] PVOID                   OutputBuffer,
  [in]  ULONG                   OutputBufferLength
);

Paramètres

[in] InformationLevel

Niveau d’informations demandé. Cette valeur indique les informations d’alimentation spécifiques à définir ou à récupérer. Ce paramètre doit être l’une des valeurs de type d’énumération POWER_INFORMATION_LEVEL suivantes.

Valeur Signification
AdministratorPowerPolicy
9
Ce niveau d’informations n’est pas pris en charge.
LastSleepTime
15
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit un ULONGLONG qui spécifie le nombre de temps d’interruption, en unités de 100 nanosecondes, au dernier temps de veille du système.

LastWakeTime
14
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit un ULONGLONG qui spécifie le nombre de temps d’interruption, en unités de 100 nanosecondes, au dernier moment de veille du système.

ProcessorInformation
11
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit une structure PROCESSOR_POWER_INFORMATION pour chaque processeur installé sur le système. Utilisez la fonction GetSystemInfo pour récupérer le nombre de processeurs.

ProcessorPowerPolicyAc
18
Ce niveau d’informations n’est pas pris en charge.
ProcessorPowerPolicyCurrent
22
Ce niveau d’informations n’est pas pris en charge.
ProcessorPowerPolicyDc
19
Ce niveau d’informations n’est pas pris en charge.
SystemBatteryState
5
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit une structure SYSTEM_BATTERY_STATE contenant des informations sur la batterie actuelle du système.

SystemExecutionState
16
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit une valeur ULONG contenant la mémoire tampon d’état d’exécution du système. Cette valeur peut contenir n’importe quelle combinaison des valeurs suivantes : ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED ou ES_USER_PRESENT. Pour plus d’informations, consultez la fonction SetThreadExecutionState .

SystemPowerCapabilities
4
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit une structure SYSTEM_POWER_CAPABILITIES contenant les fonctionnalités d’alimentation système actuelles.

Ces informations représentent les fonctionnalités d’alimentation actuellement prises en charge. Il peut changer à mesure que les pilotes sont installés dans le système. Par exemple, l’installation de pilotes de périphériques hérités qui ne prennent pas en charge la gestion de l’alimentation désactive tous les états de veille du système.

SystemPowerInformation
12
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit une structure SYSTEM_POWER_INFORMATION .

Les applications peuvent utiliser ce niveau pour récupérer des informations sur l’inactivité du système.

SystemPowerPolicyAc
0
Si lpInBuffer n’a pas la valeur NULL, la fonction applique les valeurs SYSTEM_POWER_POLICY passées dans lpInBuffer à la stratégie d’alimentation système actuelle utilisée pendant que le système s’exécute sur l’alimentation secteur (utilitaire).

La mémoire tampon lpOutputBuffer reçoit une structure de SYSTEM_POWER_POLICY contenant la stratégie d’alimentation système actuelle utilisée lorsque le système s’exécute sur l’alimentation secteur (utilitaire).

SystemPowerPolicyCurrent
8
Le paramètre lpInBuffer doit être NULL ; sinon, la fonction retourne ERROR_INVALID_PARAMETER.

La mémoire tampon lpOutputBuffer reçoit une structure de SYSTEM_POWER_POLICY contenant la stratégie d’alimentation système actuelle utilisée lorsque le système s’exécute sur l’alimentation secteur (utilitaire).

SystemPowerPolicyDc
1
Si lpInBuffer n’a pas la valeur NULL, la fonction applique les valeurs de SYSTEM_POWER_POLICY passées dans lpInBuffer à la stratégie d’alimentation système actuelle utilisée pendant que le système s’exécute sur batterie.

La mémoire tampon lpOutputBuffer reçoit une structure SYSTEM_POWER_POLICY contenant la stratégie d’alimentation système actuelle utilisée lorsque le système s’exécute sur batterie.

SystemReserveHiberFile
10
Si lpInBuffer n’a pas la valeur NULL et que l’utilisateur actuel dispose de privilèges suffisants, la fonction valide ou désactive le stockage nécessaire pour contenir l’image de mise en veille prolongée sur le volume de démarrage.

Le paramètre lpInBuffer doit pointer vers une valeur BOOLEAN indiquant la requête souhaitée. Si la valeur est TRUE, le fichier de mise en veille prolongée est réservé ; si la valeur est FALSE, le fichier de mise en veille prolongée est supprimé.

VerifyProcessorPowerPolicyAc
20
Ce niveau d’informations n’est pas pris en charge.
VerifyProcessorPowerPolicyDc
21
Ce niveau d’informations n’est pas pris en charge.
VerifySystemPolicyAc
2
Ce niveau d’informations n’est pas pris en charge.
VerifySystemPolicyDc
3
Ce niveau d’informations n’est pas pris en charge.

[in] InputBuffer

Pointeur vers une mémoire tampon d’entrée facultative. Le type de données de cette mémoire tampon dépend du niveau d’informations demandé dans le paramètre InformationLevel .

[in] InputBufferLength

Taille, en octets, de la mémoire tampon d’entrée.

[out] OutputBuffer

Pointeur vers une mémoire tampon de sortie facultative. Le type de données de cette mémoire tampon dépend du niveau d’informations demandé dans le paramètre InformationLevel . Si la mémoire tampon est trop petite pour contenir les informations, la fonction retourne STATUS_BUFFER_TOO_SMALL.

[in] OutputBufferLength

Taille de la mémoire tampon de sortie en octets. Selon le niveau d’informations demandé, il peut s’agir d’une mémoire tampon de taille variable.

Valeur retournée

Si la fonction réussit, la valeur de retour est STATUS_SUCCESS.

Si la fonction échoue, la valeur de retour peut être l’un des codes status suivants.

Statut Signification
STATUS_BUFFER_TOO_SMALL
La mémoire tampon de sortie est de taille insuffisante pour contenir les données à retourner.
STATUS_ACCESS_DENIED
L’appelant n’avait pas les droits d’accès nécessaires pour effectuer l’action demandée.

Remarques

Les modifications apportées à la stratégie d’alimentation système actuelle à l’aide de CallNtPowerInformation sont immédiates, mais elles ne sont pas persistantes. autrement dit, les modifications ne sont pas stockées dans le cadre d’un schéma d’alimentation. Toute modification apportée à la stratégie d’alimentation du système avec CallNtPowerInformation peut être remplacée par des modifications apportées à un schéma de stratégie par l’utilisateur dans le programme du panneau de configuration Power Options ou par des appels ultérieurs à WritePwrScheme, SetActivePwrScheme ou d’autres fonctions de schéma d’alimentation.

Pour plus d’informations sur l’utilisation de PowrProf.h, consultez Power Schemes.

Configuration requise

Condition requise Valeur
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 powerbase.h
Bibliothèque PowrProf.lib
DLL PowrProf.dll

Voir aussi

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

Fonctions de gestion de l’alimentation

structure SYSTEM_BATTERY_STATE

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY