Freigeben über


IRP_MN_STOP_DEVICE

Alle PnP-Treiber müssen diese IRP verarbeiten.

Wert

0x04

Hauptcode

IRP_MJ_PNP

Sendebedingungen

Der PnP-Manager sendet diese IRP, um ein Gerät zu beenden, damit es die Hardwareressourcen des Geräts neu konfigurieren kann.

Auf Windows 2000- und höher-Systemen sendet der PnP-Manager diese IRP nur, wenn ein vorheriger IRP_MN_QUERY_STOP_DEVICE erfolgreich abgeschlossen wurde.

Unter Windows 98/Me sendet der PnP-Manager diese IRP auch, wenn ein Gerät deaktiviert wird und wenn ein Gerätestapel eine IRP_MN_START_DEVICE Anforderung fehlgeschlagen hat. Im Fall eines Fehlstarts sendet der PnP-Manager diese IRP ohne vorherige IRP_MN_QUERY_STOP_DEVICE Anforderung.

Der PnP-Manager sendet diese IRP bei IRQL PASSIVE_LEVEL im Kontext eines Systemthreads.

Eingabeparameter

Keine

Ausgabeparameter

Keine

E/A-Statusblock

Ein Treiber muss Irp-IoStatus.Status> auf STATUS_SUCCESS festlegen.

Vorgang

Diese IRP wird zuerst vom Treiber am oberen Rand des Gerätestapels verarbeitet und dann an jeden unteren Treiber im Stapel übergeben.

Als Reaktion auf diese IRP beenden Windows 2000- und höhere Treiber das Gerät und geben alle hardwarebasierten Ressourcen frei, die vom Gerät verwendet werden, z. B. E/A-Ports und Interrupts.

Unter Windows 2000 und höher wird ein Stopp-IRP ausschließlich verwendet, um die Hardwareressourcen eines Geräts freizugeben, damit sie neu konfiguriert werden können. Nachdem die Ressourcen neu konfiguriert wurden, wird das Gerät neu gestartet. Ein Stop-IRP ist kein Vorläufer für eine Entfernungs-IRP. Weitere Informationen zur Reihenfolge, in der PnP IRPs an Geräte gesendet werden, finden Sie unter Plug & Play.

Unter Windows 98/Me wird auch nach einem fehlgeschlagenen Start und bei der Deaktivierung eines Geräts ein Stopp-IRP verwendet. WDM-Treiber, die unter diesen Betriebssystemen ausgeführt werden, sollten das Gerät beenden, alle eingehenden E/A-Vorgänge versagen und alle Benutzermodusschnittstellen deaktivieren und die Registrierung aufheben.

Bei einem Treiber darf dieser IRP nicht fehlschlagen. Wenn ein Treiber die Hardwareressourcen des Geräts nicht freigeben kann, muss der vorherige Abfragestopp-IRP fehlschlagen.

Ausführliche Informationen zur Behandlung von Stopp-IRPs finden Sie unter Beenden eines Geräts .

Senden dieses IRP

Ist für das System reserviert. Treiber dürfen diese IRP nicht senden.

Anforderungen

Header

Wdm.h (einschließlich Wdm.h, Ntddk.h oder Ntifs.h)

Weitere Informationen

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_START_DEVICE

IoSetDeviceInterfaceState

IoRegisterDeviceInterface