Freigeben über


Der PnP-Manager verteilt Systemressourcen (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 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden.

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

Weitere Informationen finden Sie unter Erste Schritte mit UMDF.

Wenn ein Benutzer einem System ein Gerät hinzufügt und das Gerät Systemressourcen benötigt, die der PnP-Manager bereits einem anderen Gerät zugewiesen hat, versucht der PnP-Manager, Ressourcen neu zuzuweisen.

Während dieses Vorgangs beendet der PnP-Manager Geräte und hebt sie aus ihrem Arbeitszustand (D0) heraus. Anschließend werden neue Ressourcenlisten an die Geräte übermittelt, damit sie mithilfe der neuen Ressourcen neu gestartet werden können.

Beim Verteilen von Ressourcen ändert der PnP-Manager die Ressourcenzuweisung eines Geräts nicht, wenn einer der UMDF-basierten Treiber des Geräts eine IPnpCallback::OnQueryStop-Rückruffunktion bereitgestellt hat und die Rückruffunktion ein Veto gegen die erneute Zuweisung vorgenommen hat.

Power-Down-Sequenz
Für jeden UMDF-basierten Funktions- und Filtertreiber, der das angehaltene Gerät unterstützt, führt das Framework nacheinander die folgenden Schritte aus, beginnend mit dem Treiber, der am höchsten im Treiberstapel ist:

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

  2. Das Framework beendet alle stromverwalteten E/A-Warteschlangen des Geräts.

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

  4. Das Framework ruft die IPnpCallbackHardware::OnReleaseHardware-Rückruffunktion des Treibers auf (sofern vorhanden), und übergibt die Liste der Hardwareressourcen, die der PnP-Manager dem Gerät zugewiesen hat.

Ein Diagramm, das diese Schritte zeigt, finden Sie in der Abbildung zum ordnungsgemäßen Entfernen unter Ein Benutzer entfernt ein Gerät.

Einschaltsequenz
Für jeden UMDF-basierten Funktions- und Filtertreiber, der das Gerät unterstützt, führt das Framework nacheinander die folgenden Treiber aus, beginnend mit dem Treiber, der am niedrigsten im Treiberstapel ist:

  1. Das Framework ruft die IPnpCallbackHardware::OnPrepareHardware-Rückruffunktion des Treibers auf (sofern vorhanden), und übergibt die Liste der Hardwareressourcen, die der PnP-Manager dem Gerät zugewiesen hat.

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

  3. Das Framework startet alle stromverwalteten E/A-Warteschlangen des Geräts neu.

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

Ein Diagramm, das diese Schritte zeigt, finden Sie unter Ein Benutzer-Plugs in einem Gerät.