Freigeben über


Aktivieren und Deaktivieren einer Geräteschnittstelleninstanz

Nach dem erfolgreichen Starten des Geräts ruft der Treiber, der die Schnittstelle registriert hat, IoSetDeviceInterfaceState auf, um eine Schnittstelle instance zu aktivieren. Der Treiber übergibt den symbolischen Linknamen, der von IoRegisterDeviceInterface zurückgegeben wird, zusammen mit dem booleschen Wert TRUE, um die Schnittstelle instance zu aktivieren.

Wenn der Treiber sein Gerät erfolgreich starten kann, sollte er diese Routine aufrufen, während er die IRP_MN_START_DEVICE-Anforderung des Plug & Play -Managers (PnP) verarbeitet.

Nach Abschluss der IRP_MN_START_DEVICE Anforderung gibt der PnP-Manager Benachrichtigungen zum Eingang der Geräteschnittstelle an alle Kernelmodus- oder Benutzermoduskomponenten aus, die sie angefordert haben. Weitere Informationen finden Sie unter Registrieren der Benachrichtigung zur Änderung der Geräteschnittstelle.

Um eine Geräteschnittstelle instance zu deaktivieren, ruft ein Treiber IoSetDeviceInterfaceState auf und übergibt den von IoRegisterDeviceInterface zurückgegebenenSymbolicLinkName und FALSE als Wert von Enable.

Ein Treiber sollte die Schnittstellen eines Geräts deaktivieren, wenn er eine IRP_MN_SURPRISE_REMOVAL - oder IRP_MN_REMOVE_DEVICE-Anforderung für das Gerät verarbeitet. Wenn ein Treiber die Schnittstellen eines Geräts nicht deaktiviert, wenn er diese Entfernungs-IRPs verarbeitet, darf er dies später nicht versuchen, da der PnP-Manager die Schnittstellen deaktiviert, wenn er das Gerät entfernt.

Ein Treiber sollte die Schnittstellen nicht deaktivieren, wenn das Gerät beendet wird (IRP_MN_STOP_DEVICE); Stattdessen sollten alle Geräteschnittstellen aktiviert bleiben und E/A-Anforderungen in die Warteschlange gestellt werden, bis eine weitere IRP_MN_START_DEVICE-Anforderung empfangen wird. Ebenso sollte ein Treiber seine Schnittstellen nicht deaktivieren, wenn das Gerät in einen Ruhezustand versetzt wird. E/A-Anforderungen sollten in die Warteschlange gestellt werden, bis das Gerät wieder aktiviert wird. Weitere Informationen finden Sie unter Unterstützen von Geräten, die über Wake-Up Funktionen verfügen.