Compartir a través de


Función FltFlushBuffers (fltkernel.h)

El controlador minifiltro usa la rutina FltFlushBuffers para enviar una solicitud de vaciado de un archivo determinado al sistema de archivos. Use FltFlushBuffers2 para especificar diferentes opciones de tipo de vaciado.

Sintaxis

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

Parámetros

[in] Instance

Puntero de instancia opaco para el autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.

[in] FileObject

Puntero de objeto de archivo para que se vacíe el archivo. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

FltFlushBuffers devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_MEDIA_WRITE_PROTECTED
El archivo reside en un volumen protegido por escritura. Se trata de un código de error.
STATUS_VOLUME_DISMOUNTED
El archivo reside en un volumen que no está montado actualmente. Se trata de un código de error.

Comentarios

Un controlador de minifiltro puede llamar a FltFlushBuffers para emitir una solicitud de IRP_MJ_FLUSH_BUFFERS al sistema de archivos para un archivo determinado. La operación de vaciado es sincrónica y se emite a las instancias debajo de la instancia especificada.

Si FileObject es para un archivo, se escribirán los datos de archivo y los metadatos de la caché de archivos y el almacenamiento subyacente se sincronizará para vaciar su caché. Si FileObject es para un volumen, el sistema de archivos hará que los datos de archivo y los metadatos de todos los archivos modificados del volumen se escriban y el almacenamiento subyacente se sincronizará para vaciar su caché. Use FltFlushBuffers2 para controlar de forma más detallada el tipo de vaciado que debe hacer el sistema de archivos.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
IRQL PASSIVE_LEVEL

Consulte también

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS