Fonction PoRegisterForEffectivePowerModeNotifications (wdm.h)
La fonction PoRegisterForEffectivePowerModeNotifications enregistre un rappel pour recevoir des notifications de changement de mode d’alimentation effectives.
Syntaxe
NTSTATUS PoRegisterForEffectivePowerModeNotifications(
ULONG Version,
PPO_EFFECTIVE_POWER_MODE_CALLBACK Callback,
PVOID Context,
PO_EPM_HANDLE *RegistrationHandle,
PDEVICE_OBJECT DeviceObject
);
Paramètres
Version
Fournit la version du mode d’alimentation effective maximale comprise par l’appelant. Si le mode d’alimentation effectif provient d’une version ultérieure, il est mappé à une version compatible qui est ensuite passée au rappel.
Les valeurs suivantes peuvent être passées :
EFFECTIVE_POWER_MODE_V1 est disponible à partir de Windows 10, version 1809 et suit les états du curseur d’alimentation de performance et de l’économiseur d’énergie.
EFFECTIVE_POWER_MODE_V2 est disponible à partir de Windows 10 version 1903 et suit les états d’alimentation du curseur d’alimentation de performance, de l’économiseur de batterie, du mode de jeu et de la réalité mixte Windows.
Callback
Pointeur vers le rappel à appeler lorsque le mode d’alimentation effectif change. Cela sera également appelé une fois lors de l’inscription pour fournir le mode actuel. Si plusieurs rappels sont inscrits, ces rappels peuvent être appelés simultanément.
Context
Contexte opaque spécifié par l’appelant.
RegistrationHandle
Il s’agit d’un pointeur vers une variable qui reçoit un handle pour l’inscription. Ce handle peut être utilisé pour annuler l’inscription de la fonction de rappel.
DeviceObject
Il s’agit d’un paramètre facultatif qui, s’il est spécifié, fournit un rappel inscrit (par exemple, à partir d’un pilote) avec le contexte de périphérique spécifié.
Valeur retournée
Retourne S_OK (zéro) si l’appel a réussi, et une valeur différente de zéro si l’appel a échoué.
Remarques
Immédiatement après l’inscription, le rappel est appelé avec la valeur actuelle du paramètre d’alimentation. Si l’inscription se produit alors que le mode d’alimentation change, vous pouvez recevoir plusieurs rappels. Le dernier rappel est la mise à jour la plus récente.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11, version 24H2 |
En-tête | wdm.h (include Wdm.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |