WdfPdoInitRemovePowerDependencyOnParent, fonction (wdfpdo.h)
La méthode WdfPdoInitRemovePowerDependencyOnParent supprime la dépendance d’alimentation décrite dans la section Notes.
Syntaxe
void WdfPdoInitRemovePowerDependencyOnParent(
PWDFDEVICE_INIT DeviceInit
);
Paramètres
DeviceInit
Pointeur vers une structure WDFDEVICE_INIT.
Valeur de retour
Aucun
Remarques
En règle générale, l’infrastructure exige qu’un pilote de bus parent entre dans l’état d’alimentation de l’appareil D0 avant qu’un appareil enfant entre D0 et de la même façon qu’un appareil enfant quitte D0 avant que le parent quitte D0.
Toutefois, ce comportement peut ne pas être souhaité, en particulier si l’appareil enfant est un appareil virtuel qui ne représente aucun matériel réel. Au niveau de la mise hors tension de S0, l’état d’alimentation de l’appareil enfant peut ne pas être pertinent pour le parent. En fait, l’appareil enfant n’a peut-être aucune raison d’effectuer la détection d’inactivité S0. Dans ce cas, il serait préférable que l’appareil parent passe entre D0 et Dx en fonction de l’activité d’E/S, plutôt que d’être dépendant de l’état d’alimentation de l’appareil enfant.
La suppression de la dépendance d’alimentation a les effets suivants sur le pilote de bus :
- Les rappels PDO PnP/Power peuvent s’exécuter pendant que l’appareil parent est dans Dx.
- Les rappels PDO enable/disable-wake-at-bus peuvent s’exécuter pendant que l’appareil parent est dans Dx.
- Une requête transférée d’une file d’attente gérée par l’alimentation sur l’objet PDO (en supposant que le PDO est le propriétaire de la stratégie d’alimentation) vers une file d’attente non gérée par l’alimentation sur le FDO peut être distribuée pendant que le pilote de bus est dans Dx.
- La pile enfant effectue des transitions d’état d’alimentation indépendamment de la pile parente. Cela inclut des scénarios tels que la reprise rapide dans laquelle la pile enfant peut recevoir son S-IRP et même terminer le traitement de son D-IRP avant que la pile parente ne termine le traitement de son propre D-IRP.
Pour supprimer la dépendance d’alimentation, le pilote de bus peut appeler WdfPdoInitRemovePowerDependencyOnParent lorsqu’il crée l’objet PDO pour l’appareil enfant.
Cette fonction n’effectue aucune action si le pilote de bus parent n’est pas le propriétaire de la stratégie d’alimentation de la pile d’appareils parent.
Spécifications
Besoin | Valeur |
---|---|
client minimum pris en charge | Windows 10, version 2004 |
version minimale de KMDF | 1.29 |
En-tête | wdfpdo.h (include Wdf.h) |
Bibliothèque | Wdf01000.sys (KMDF) |
IRQL | PASSIVE_LEVEL |