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 |
---|---|
|
El archivo reside en un volumen protegido por escritura. Se trata de un código de error. |
|
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 |