Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die WdfPdoInitRemovePowerDependencyOnParent-Methode entfernt die im Abschnitt Hinweise beschriebene Energieabhängigkeit.
Syntax
VOID WdfPdoInitRemovePowerDependencyOnParent(
PWDFDEVICE_INIT DeviceInit
);
Die Parameter
DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT Struktur.
Rückgabewert
Nichts
Bemerkungen
Im Allgemeinen erfordert das Framework, dass ein übergeordneter Bustreiber den D0-Gerätestromzustand eingibt, bevor ein untergeordnetes Gerät D0 eingibt, und ähnlich wie ein untergeordnetes Gerät D0 verlässt, bevor das übergeordnete Gerät D0 verlässt.
Dieses Verhalten ist jedoch möglicherweise nicht erwünscht, insbesondere, wenn es sich bei dem untergeordneten Gerät um ein virtuelles Gerät handelt, das keine echte Hardware darstellt. Bei S0 im Leerlauf ist der Energiezustand des untergeordneten Geräts möglicherweise für das übergeordnete Gerät nicht relevant. Tatsächlich hat das untergeordnete Gerät möglicherweise keinen Grund, die S0-Leerlauferkennung durchzuführen. In diesem Fall wäre es besser, dass das übergeordnete Gerät basierend auf der E/A-Aktivität zwischen D0 und Dx wechselt, anstatt vom Energiestatus des untergeordneten Geräts abhängig zu sein.
Das Entfernen der Stromabhängigkeit hat die folgenden Auswirkungen auf den Bustreiber:
- Die PNP/Power-Rückrufe können ausgeführt werden, während sich das übergeordnete Gerät in Dx befindet.
- Die PDO-Aktivierungs-/Disable-Wake-at-Bus-Rückrufe können ausgeführt werden, während sich das übergeordnete Gerät in Dx befindet.
- Eine Anforderung, die von einer energieverwalteten Warteschlange auf dem PDO weitergeleitet wird (vorausgesetzt, der PDO ist der Besitzer der Energierichtlinie) an eine nicht energieverwaltete Warteschlange auf dem FDO wird möglicherweise gesendet, während sich der Bustreiber in Dx befindet.
- Der untergeordnete Stapel führt Unabhängig vom übergeordneten Stapel Power State-Übergänge durch. Dies umfasst Szenarien wie den schnellen Fortsetzen, in denen der untergeordnete Stapel möglicherweise seine S-IRP erhält und die Verarbeitung seiner D-IRP sogar abgeschlossen hat, bevor der übergeordnete Stapel die Verarbeitung seines eigenen D-IRP abgeschlossen hat.
Um die Energieabhängigkeit zu entfernen, kann der Bustreiber WdfPdoInitRemovePowerDependencyOnParent aufrufen, wenn der PDO für das untergeordnete Gerät erstellt wird.
Diese Funktion führt keine Aktion aus, wenn der übergeordnete Bustreiber nicht der Besitzer der Energierichtlinie des übergeordneten Gerätestapels ist.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützter Client (Mindestversion) | Windows 10, Version 2004 |
| Minimale KMDF-Version | 1.29 |
| Kopfzeile | wdfpdo.h (include Wdf.h) |
| Bibliothek | Wdf01000.sys (KMDF) |
| IRQL | PASSIVE_LEVEL |