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 |