Freigeben über


Ein Gerät kehrt in seinen Arbeitszustand zurück (UMDF 1)

Warnung

UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 für neuere Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden.

Die archivierten UMDF 1-Beispiele finden Sie im Windows 11, Version 22H2 – Mai 2022 Treiberbeispiele Update.

Weitere Informationen finden Sie unter Erste Schritte mit UMDF.

Ein Gerät, das sich in einem Energiesparzustand befindet, kehrt in den Arbeitszustand zurück, wenn einer der folgenden Aktionen auftritt:

  • Das Gerät erkennt ein externes Ereignis und löst ein Aktivierungssignal auf dem Bus aus. Der Bustreiber im Kernelmodus erkennt das Aktivierungssignal.

  • Das Gerät befindet sich im Leerlauf und ein Treiber ruft IWDFDevice2::StopIdle auf.

  • Der Energiezustand des Systems hat sich von einem Energiesparzustand in den Betriebszustand (S0) geändert.

In jeder dieser Situationen stellt der Bustreiber im Kernelmodus das Gerät (ein untergeordnetes Gerät des Busses) in den Betriebszustand (D0) zurück.

Für jede UMDF-basierte Funktion und jeden Filtertreiber, der das Gerät unterstützt, führt das Framework nacheinander einen Treiber nacheinander aus, beginnend mit dem Treiber, der am niedrigsten im Treiberstapel ist:

  1. Das Framework ruft die IPnpCallback::OnD0Entry-Rückruffunktion des Treibers auf (sofern vorhanden).

  2. Wenn der Treiber der Besitzer der Energierichtlinie des Geräts ist, ruft das Framework die Rückruffunktion IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 oder IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx auf.

  3. Das Framework startet alle stromverwalteten E/A-Warteschlangen des Geräts neu und ruft ihre IQueueCallbackIoResume::OnIoResume-Rückruffunktionen auf (falls erforderlich).

  4. Wenn der Treiber selbstverwaltete E/A verwendet, ruft das Framework die IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart-Rückruffunktion des Treibers auf.

Ein Diagramm mit diesen Schritten finden Sie unter Ein Benutzer-Plugs in einem Gerät.