Función FsRtlRegisterFileSystemFilterCallbacks (ntifs.h)

Los controladores de filtro del sistema de archivos y los sistemas de archivos llaman a la rutina FsRtlRegisterFileSystemFilterCallbacks para registrar las rutinas de devolución de llamada de notificación que se invocarán cuando el sistema de archivos subyacente realiza determinadas operaciones.

Sintaxis

NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
  [in] _DRIVER_OBJECT       *FilterDriverObject,
  [in] PFS_FILTER_CALLBACKS Callbacks
);

Parámetros

[in] FilterDriverObject

Puntero al objeto de controlador para el controlador de sistema de archivos o filtro.

[in] Callbacks

Puntero a una estructura FS_FILTER_CALLBACKS que contiene los puntos de entrada de las rutinas de devolución de llamada proporcionadas por el autor de la llamada. Todos los puntos de entrada de devolución de llamada son opcionales y se pueden establecer en NULL.

Valor devuelto

La rutina FsRtlRegisterFileSystemFilterCallbacks puede devolver uno de los siguientes valores de estado:

Código devuelto Descripción
STATUS_SUCCESS Las rutinas de devolución de llamada se registraron correctamente.
STATUS_INSUFFICIENT_RESOURCES FsRtlRegisterFileSystemFilterCallbacks encontró un error de asignación de grupo al asignar memoria para almacenar la información de devolución de llamada.
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY FsRtlRegisterFileSystemFilterCallbacks completó correctamente una operación FsFilter.
STATUS_FILE_LOCKED_WITH_ONLY_READERS El archivo estaba bloqueado y todos los usuarios del archivo solo pueden leer.
STATUS_FILE_LOCKED_WITH_WRITERS El archivo estaba bloqueado y al menos un usuario del archivo puede escribir
STATUS_INVALID_PARAMETER Uno de los parámetros no es válido.

Comentarios

Los controladores de filtro del sistema de archivos y del sistema de archivos deben llamar a FsRtlRegisterFileSystemFilterCallbacks desde la rutina DriverEntry del controlador.

FsRtlRegisterFileSystemFilterCallbacks registra las rutinas de devolución de llamada de notificación especificadas en el parámetro Callbacks que se invocarán cuando se envían solicitudes para determinadas operaciones de archivo al sistema de archivos subyacente.

Los sistemas de archivos llaman a FsRtlRegisterFileSystemFilterCallbacks para establecer el miembro de devolución de llamada PreAcquireForSectionSynchronization de la estructura FS_FILTER_CALLBACKS en lugar de usar la clase AcquireFileForNtCreateSection obsoleta.

Las rutinas de devolución de llamada registradas por FsRtlRegisterFileSystemFilterCallbacks reemplazan las siguientes rutinas de devolución de llamada de E/S rápidas, que están obsoletas y no deben usarse en los controladores de filtro del sistema de archivos:

  • AcquireForCcFlush
  • AcquireFileForNtCreateSection
  • AcquireForModWrite
  • ReleaseForCcFlush
  • ReleaseFileForNtCreateSection
  • ReleaseForModWrite

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte también

FS_FILTER_CALLBACKS