Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der IoRegisterShutdownNotification Routine registriert den Treiber, um einen IRP_MJ_SHUTDOWN IRP zu erhalten, wenn das System heruntergefahren wird.
Syntax
NTSTATUS IoRegisterShutdownNotification(
[in] PDEVICE_OBJECT DeviceObject
);
Parameter
[in] DeviceObject
Zeigen Sie auf das Geräteobjekt des Geräts, für das der Treiber eine Benachrichtigung zum Herunterfahren anfordert. Das System übergibt diesen Zeiger an die DispatchShutdown Routine des Fahrers.
Rückgabewert
IoRegisterShutdownNotification gibt STATUS_SUCCESS bei Erfolg oder den entsprechenden NTSTATUS-Fehlercode bei Fehlern zurück.
Bemerkungen
Die IoRegisterShutdownNotification Routine registriert den Treiber, um ein IRP_MJ_SHUTDOWN IRP für das angegebene Gerät zu empfangen, wenn das System heruntergefahren wird. Der Treiber erhält einen solchen IRP für jedes Gerät, für das er registriert wird, um Benachrichtigungen zu erhalten. Treiber verarbeiten IRP_MJ_SHUTDOWN IRPs innerhalb ihrer DispatchShutdown- Routinen.
Wenn der Treiber die Benachrichtigung zum Herunterfahren für das Gerät nicht mehr erfordert, verwenden Sie IoUnregisterShutdownNotification, um den Treiber aus der Benachrichtigungswarteschlange für das Herunterfahren zu entfernen.
Es sollte nur ein Treiber in einem Gerätestapel registriert werden, um Benachrichtigungen zum Herunterfahren zu erhalten.
Das System sendet dem Treiber die IRP_MJ_SHUTDOWN Anforderung, bevor er die Dateisysteme löscht. Einige Treiber, z. B. Treiber für Massenspeichergeräte, können eine Benachrichtigung zum Herunterfahren erfordern, nachdem das System die Dateisysteme gelebt hat. Verwenden Sie stattdessen die IoRegisterLastChanceShutdownNotification Routine, um eine Benachrichtigung zum Herunterfahren für ein Gerät zu erhalten, nachdem die Dateisysteme geleert wurden.
Die registrierte DispatchShutdown Routine wird aufgerufen, bevor der Power Manager eine IRP_MN_SET_POWER Anforderung für PowerSystemShutdown-sendet. Die DispatchShutdown Routine wird nicht für Übergänge zu anderen Machtzuständen aufgerufen.
Ein Fahrerschreiber kann keine Annahmen über die Reihenfolge treffen, in der die DispatchShutdown Routine des Fahrers in Bezug auf andere solche Routinen oder andere Herunterfahren-Aktivitäten aufgerufen werden.
Ein PnP-Treiber registriert möglicherweise eine Herunterfahren-Routine, um bestimmte Aufgaben auszuführen, bevor das System heruntergefahren wird, z. B. das Sperren von Code.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Verfügbar in Windows 2000 und höheren Versionen von Windows. In Microsoft Windows 98/Me nicht verfügbar. |
| Zielplattform- | Universal |
| Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | PASSIVE_LEVEL |
| DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |