IoRegisterFsRegistrationChange-Funktion (ntifs.h)
Die IoRegisterFsRegistrationChange-Routine registriert die Benachrichtigungsroutine eines Dateisystemfiltertreibers, die aufgerufen wird, wenn sich ein Dateisystem als aktives Dateisystem registriert oder die Registrierung aufhebt.
Syntax
NTSTATUS IoRegisterFsRegistrationChange(
[in] PDRIVER_OBJECT DriverObject,
[in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);
Parameter
[in] DriverObject
Zeiger auf das Treiberobjekt für den FS-Filtertreiber.
[in] DriverNotificationRoutine
Ein Zeiger auf die PDRIVER_FS_NOTIFICATION Routine, die das Dateisystem aufruft, wenn es sich selbst registriert oder die Registrierung auf hebt.
Rückgabewert
IoRegisterFsRegistrationChange gibt einen NTSTATUS-Wert wie einen der folgenden zurück.
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Die Benachrichtigungsroutine wurde erfolgreich registriert. |
STATUS_INSUFFICIENT_RESOURCES | Ein Benachrichtigungspaket konnte für die Benachrichtigungsroutine nicht zugeordnet werden. |
STATUS_DEVICE_ALREADY_ATTACHED | Siehe Hinweise. |
STATUS_NOT_SUPPORTED | Ältere FS-Filtertreiber werden durch die Systemrichtlinie blockiert. Weitere Informationen finden Sie unter Blockieren von Legacy-Dateisystemfiltertreibern . |
Hinweise
IoRegisterFsRegistrationChange registriert einen FS-Filtertreiber, der benachrichtigt wird, wenn ein Dateisystem IoRegisterFileSystem oder IoUnregisterFileSystem aufruft.
Um den Empfang solcher Benachrichtigungen zu beenden, sollte der Filtertreiber IoUnregisterFsRegistrationChange aufrufen.
Wenn ein FS-Filtertreiber IoRegisterFsRegistrationChange aufruft, ruft das Betriebssystem seine Benachrichtigungsroutine sofort für alle aktuell registrierten Dateisysteme auf. (Ein registriertes Dateisystem ist ein Dateisystem, das bereits erfolgreich IoRegisterFileSystem aufgerufen hat, aber noch nicht IoUnregisterFileSystem aufgerufen hat.) Da die Benachrichtigungsroutine des Aufrufers bereits aufgerufen werden kann, bevor IoRegisterFsRegistrationChange zurückgegeben wird, sollte ein Filtertreiber diese Routine erst aufrufen, nachdem er alle Datenstrukturen erstellt hat, die er zum Verarbeiten dieser Benachrichtigungen benötigt.
IoRegisterFsRegistrationChange ignoriert RAW-Geräte. Informationen zum Anfügen an das RAW-Dateisystem nach Name finden Sie unter Anfügen des Filtergeräteobjekts an das Zielgeräteobjekt.
IoRegisterFsRegistrationChange erhöht die Verweisanzahl für das Treiberobjekt des Filtertreibers.
IoRegisterFsRegistrationChange gibt STATUS_DEVICE_ALREADY_ATTACHED zurück, wenn die folgenden Bedingungen erfüllt sind:
- Ein FS-Filtertreiber hat IoRegisterFsRegistrationChange zweimal hintereinander aufgerufen, ohne IoUnregisterFsRegistrationChange dazwischen aufzurufen.
- Dieser FS-Filtertreiber hat dieselben Werte für driverObject und DriverNotificationRoutine übergeben, die er beim vorherigen Aufruf von IoRegisterFsRegistrationChange registriert hat.
- Seit dem ersten Aufruf wurden keine anderen Filtertreiber registriert.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für