Función IoRegisterFsRegistrationChange (ntifs.h)
La rutina IoRegisterFsRegistrationChange registra una rutina de notificación del controlador de filtro de archivos que se llamará cada vez que un sistema de archivos se registra o anula el registro como un sistema de archivos activo.
Sintaxis
NTSTATUS IoRegisterFsRegistrationChange(
[in] PDRIVER_OBJECT DriverObject,
[in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);
Parámetros
[in] DriverObject
Puntero al objeto de controlador para el controlador de filtro FS.
[in] DriverNotificationRoutine
Puntero a la rutina PDRIVER_FS_NOTIFICATION , a la que el sistema de archivos llama cuando se registra o anula el registro.
Valor devuelto
IoRegisterFsRegistrationChange devuelve un valor NTSTATUS como uno de los siguientes.
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | La rutina de notificación se registró correctamente. |
STATUS_INSUFFICIENT_RESOURCES | No se pudo asignar un paquete de notificación para la rutina de notificación. |
STATUS_DEVICE_ALREADY_ATTACHED | Vea la sección Comentarios. |
STATUS_NOT_SUPPORTED | La directiva del sistema bloquea los controladores de filtro de FS heredados. Consulte Bloqueo de controladores de filtro de sistema de archivos heredados para obtener más información. |
Comentarios
IoRegisterFsRegistrationChange registra un controlador de filtro FS para recibir una notificación cada vez que un sistema de archivos llama a IoRegisterFileSystem o IoUnregisterFileSystem.
Para dejar de recibir estas notificaciones, el controlador de filtro debe llamar a IoUnregisterFsRegistrationChange.
Cuando un controlador de filtro de FS llama a IoRegisterFsRegistrationChange, el sistema operativo llama a su rutina de notificación inmediatamente para todos los sistemas de archivos registrados actualmente. (Un sistema de archivos registrado es uno que ya se ha llamado correctamente IoRegisterFileSystem , pero que aún no ha llamado IoUnregisterFileSystem). Dado que se puede llamar a la rutina de notificación del autor de la llamada incluso antes de que se devuelva IoRegisterFsRegistrationChange , un controlador de filtro no debe llamar a esta rutina hasta que haya creado ninguna estructura de datos que necesite para procesar estas notificaciones.
IoRegisterFsRegistrationChange omite los dispositivos RAW. Para obtener información sobre cómo adjuntar al sistema de archivos RAW por nombre, vea Adjuntar el objeto de dispositivo de filtro al objeto de dispositivo de destino.
IoRegisterFsRegistrationChange incrementa el recuento de referencias en el objeto de controlador del controlador de filtro.
IoRegisterFsRegistrationChange devuelve STATUS_DEVICE_ALREADY_ATTACHED si se cumplen las condiciones siguientes:
- Un controlador de filtro FS ha llamado a IoRegisterFsRegistrationChange dos veces en sucesión sin llamar a IoUnregisterFsRegistrationChange entre ellos.
- Ese controlador de filtro de FS ha pasado los mismos valores para DriverObject y DriverNotificationRoutine que registró en la llamada anterior a IoRegisterFsRegistrationChange.
- Ningún otro controlador de filtro se ha registrado desde la primera llamada.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |