Funzione IoRegisterFsRegistrationChange (ntifs.h)

La routine IoRegisterFsRegistrationChange registra una routine di notifica del driver di filtro del file system da chiamare ogni volta che un file system registra o annulla la registrazione come file system attivo.

Sintassi

NTSTATUS IoRegisterFsRegistrationChange(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);

Parametri

[in] DriverObject

Puntatore all'oggetto driver per il driver di filtro FS.

[in] DriverNotificationRoutine

Puntatore alla routine PDRIVER_FS_NOTIFICATION , che il file system chiama quando registra o annulla la registrazione.

Valore restituito

IoRegisterFsRegistrationChange restituisce un valore NTSTATUS, ad esempio uno dei seguenti.

Codice restituito Descrizione
STATUS_SUCCESS La routine di notifica è stata registrata correttamente.
STATUS_INSUFFICIENT_RESOURCES Non è stato possibile allocare un pacchetto di notifica per la routine di notifica.
STATUS_DEVICE_ALREADY_ATTACHED Vedere la sezione Osservazioni.
STATUS_NOT_SUPPORTED I driver di filtro FS legacy sono bloccati dai criteri di sistema. Per altre informazioni, vedere Blocco dei driver di filtro del file system legacy .

Commenti

IoRegisterFsRegistrationChange registra un driver di filtro FS da notificare ogni volta che un file system chiama IoRegisterFileSystem o IoUnregisterFileSystem.

Per interrompere la ricezione di tali notifiche, il driver di filtro deve chiamare IoUnregisterFsRegistrationChange.

Quando un driver di filtro FS chiama IoRegisterFsRegistrationChange, il sistema operativo chiama immediatamente la routine di notifica per tutti i file system attualmente registrati. Un file system registrato è uno che ha già chiamato IoRegisterFileSystem ma non ha ancora chiamato IoUnregisterFileSystem. Poiché la routine di notifica del chiamante può essere chiamata anche prima che IoRegisterFsRegistrationChange restituisca , un driver di filtro non deve chiamare questa routine fino a quando non ha creato strutture di dati necessarie per elaborare queste notifiche.

IoRegisterFsRegistrationChange ignora i dispositivi RAW. Per informazioni sul collegamento al file system RAW in base al nome, vedere Collegamento dell'oggetto dispositivo filtro all'oggetto dispositivo di destinazione.

IoRegisterFsRegistrationChange incrementa il conteggio dei riferimenti per l'oggetto driver del driver del filtro.

IoRegisterFsRegistrationChange restituisce STATUS_DEVICE_ALREADY_ATTACHED se sono soddisfatte le condizioni seguenti:

  • Un driver di filtro FS ha chiamato IoRegisterFsRegistrationChange due volte in successione senza chiamare IoUnregisterFsRegistrationChange tra.
  • Tale driver di filtro FS ha passato gli stessi valori per DriverObject e DriverNotificationRoutine registrati nella chiamata precedente a IoRegisterFsRegistrationChange.
  • Non sono stati registrati altri driver di filtro dalla prima chiamata.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Vedi anche

IoRegisterFileSystem

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange