Auf Englisch lesen

Freigeben über


Ein Benutzer entfernt ein Gerät (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.

Während ein System ausgeführt wird, kann ein Benutzer ein Gerät auf eine der folgenden beiden Arten entfernen: durch geordnetes Entfernen, d. h. der Benutzer informiert das System darüber, dass das Gerät entfernt werden soll (z. B. mithilfe des Programms "Deplug" oder "Hardware auswerfen"). oder durch überraschendes Entfernen, was bedeutet, dass der Benutzer das Gerät absteckt, ohne das System zu informieren. Wenn der Bus eine überraschende Entfernung (z. B. USB) unterstützt, müssen die Treiber des Geräts in der Lage sein, das plötzliche Verschwinden des Geräts zu bewältigen.

Geordnete Entfernung
Der Benutzer fordert die Entfernung an, indem er das Hardwareprogramm "Entstöpseln" oder "Auswerfen" des Systems verwendet, das Gerät mithilfe von Geräte-Manager deaktiviert oder die Auswerftaste eines auswerfenden Geräts drückt. Das Framework ermöglicht es, das Gerät zu entfernen oder zu deaktivieren, es sei denn, der Treiber hat eine IPnpCallback::OnQueryRemove-Rückruffunktion bereitgestellt, und die Rückruffunktion hat ein Veto gegen die Entfernung festgelegt.

Die folgende Abbildung zeigt die Sequenz der UMDF-Rückrufe beim Herunterschalten und Entfernen. Die Sequenz beginnt am oberen Rand der Abbildung mit einem Gerät, das sich im Betriebsleistungszustand (D0) befindet.

Flussdiagramm, das das Herunterfahren des Geräts und die geordnete Entfernungssequenz für einen UMDF-Treiber zeigt.

Überraschendes Entfernen
In diesem Szenario entfernt ein Benutzer ein Gerät unerwartet. In der Überraschungsentfernungssequenz ruft UMDF den IPnpCallback::OnSurpriseRemoval-Rückruf auf, um den Treiber zu benachrichtigen, dass das Gerät unerwartet entfernt wurde. Es ist nicht garantiert, dass dieser Rückruf in einer bestimmten Reihenfolge mit den anderen Rückrufen in der Entfernungssequenz erfolgt.

Im Allgemeinen sollte der Treiber vermeiden, auf die Hardware im Entfernungspfad zuzugreifen. Der Reflektor hat ein Timeout, wenn der Versuch, auf die Hardware zuzugreifen, unbegrenzt wartet. Die folgende Abbildung zeigt die Überraschungsentfernungssequenz für einen UMDF-Treiber.

Flussdiagramm, das eine Überraschende Entfernungssequenz für einen UMDF-Treiber anzeigt.