Fonction PoRegisterSystemState (ntifs.h)

La routine PoRegisterSystemState enregistre le système comme étant occupé en raison de certaines activités.

Syntaxe

PVOID PoRegisterSystemState(
  [in, out] PVOID           StateHandle,
  [in]      EXECUTION_STATE Flags
);

Paramètres

[in, out] StateHandle

Pointeur vers une mémoire tampon fournie par l’appelant pour un handle d’état d’inscription. La taille, en octets, de la mémoire tampon est sizeof(ULONG). Si la valeur est NULL, il s’agit d’une nouvelle inscription. S’il n’est pas NULL, ce paramètre pointe vers un handle qui a été retourné par un appel précédent à PoRegisterSystemState.

[in] Flags

Indique le type d’activité, tel que spécifié par un bit OR d’une ou plusieurs des valeurs suivantes :

Valeur Signification
ES_SYSTEM_REQUIRED Le système n’est pas inactif, quelle que soit la charge apparente.
ES_DISPLAY_REQUIRED L’utilisation de l’affichage est requise.
ES_USER_PRESENT Un utilisateur est présent.
ES_CONTINUOUS Les paramètres sont continus et doivent rester en vigueur jusqu’à ce qu’ils soient explicitement modifiés.

Valeur retournée

PoRegisterSystemState retourne un handle à utiliser ultérieurement pour modifier ou annuler l’inscription de l’état de disponibilité du système. Elle retourne NULL si le handle n’a pas pu être alloué.

Remarques

PoRegisterSystemState inscrit l’état de disponibilité du système comme indiqué par les indicateurs. L’inscription persiste jusqu’à ce que l’appelant la modifie explicitement avec un autre appel à PoRegisterSystemState ou l’annule avec un appel à PoUnregisterSystemState.

Le paramètre Flags spécifie le type d’activité en cours. Les pilotes peuvent spécifier n’importe quelle combinaison d’indicateurs.

La définition de ES_CONTINUOUS rend l’état occupé persistant jusqu’à ce qu’un pilote le modifie ou l’annule explicitement en appelant PoRegisterSystemState ou PoUnregisterSystemState.

Un pilote peut définir l’état d’activité du système pour demander au gestionnaire d’alimentation d’éviter les transitions de l’état d’alimentation système hors de l’état de fonctionnement du système (S0) pendant que l’activité du pilote se produit. Notez, toutefois, que dans certaines circonstances (par exemple, une batterie extrêmement faible), le gestionnaire d’alimentation peut remplacer cette demande et mettre le système en veille de toute façon.

Pour définir l’état d’alimentation du système, appelez PoSetSystemState.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
Plateforme cible Universal
En-tête ntifs.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Voir aussi

PoSetSystemState

PoUnregisterSystemState