Méthode IPowerNotify ::P owerChangeNotify (portcls.h)
La PowerChangeNotify
méthode avertit le pilote miniport des modifications de l’état d’alimentation.
Syntaxe
void PowerChangeNotify(
[in] POWER_STATE PowerState
);
Paramètres
[in] PowerState
Spécifie l’état d’alimentation actuel. Ce paramètre est une union de type POWER_STATE. Nouvel état d’alimentation (PowerState.DeviceState) peut être l’une des valeurs d’énumération DEVICE_POWER_STATE répertoriées dans IAdapterPowerManagement ::P owerChangeState.
Valeur de retour
None
Remarques
Le pilote système PortCls appelle la méthode du PowerChangeNotify
pilote miniport pour l’informer des modifications de l’état d’alimentation. L’objectif de cet appel est de donner au pilote miniport la possibilité d’enregistrer n’importe quel contexte spécifique au matériel juste avant de mettre hors tension ou de restaurer un contexte précédemment enregistré juste après la mise sous tension.
Le pilote miniport peut écrire dans les registres matériels ou la mémoire embarquée pendant l’appel PowerChangeNotify
. Si le système est hors tension (faisant une transition d’état loin de PowerDeviceD0), le pilote système PortCls appelle PowerChangeNotify
avant d’appeler IAdapterPowerManagement ::P owerChangeState et après avoir suspendu les flux de données audio actifs. Cela permet au pilote miniport d’enregistrer n’importe quel contexte d’appareil spécifique au matériel avant que l’appareil ne s’allume. Par exemple, un pilote de miniport WavePci peut avoir besoin d’enregistrer ses registres DMA si l’arrêt se produit pendant une séquence de transferts de données de diffusion/collecte. Si le système se met sous tension (effectue une transition d’état vers PowerDeviceD0), PortCls appelle PowerChangeNotify
après avoir appelé PowerChangeState et avant de redémarrer les flux de données audio en pause. Cela permet au pilote miniport de restaurer un contexte précédemment enregistré une fois que l’appareil est sous tension.
Le code de cette méthode doit résider dans la mémoire paginée.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | portcls.h (include Portcls.h) |