Compartir a través de


Función ZwFlushBuffersFile (ntifs.h)

Un controlador de filtro del sistema de archivos llama a la rutina ZwFlushBuffersFile para enviar una solicitud de vaciado para el archivo especificado al sistema de archivos.

Sintaxis

NTSYSAPI NTSTATUS ZwFlushBuffersFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

Parámetros

[in] FileHandle

Identificador devuelto por ZwCreateFile o ZwOpenFile para el archivo cuyos búferes se vaciarán. Este parámetro es obligatorio y no puede ser NULL.

[out] IoStatusBlock

Dirección del bloque de estado de E/S del autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

ZwFlushBuffersFile 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 filtro del sistema de archivos puede llamar a ZwFlushBuffersFile 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.

Los controladores de minifiltro deben llamar a FltFlushBuffers en lugar de llamar a ZwFlushBuffersFile.

Los autores de llamadas de ZwFlushBuffersFile deben ejecutarse en IRQL = PASSIVE_LEVEL y con las API de kernel especiales habilitadas.

Nota Si la llamada a la función ZwFlushBuffersFile se produce en modo de usuario, debe usar el nombre "NtFlushBuffersFile" en lugar de "ZwFlushBuffersFile".
 
En el caso de las llamadas desde controladores en modo kernel, las versiones **Nt*Xxx*** y **Zw*Xxx*** de una rutina de Servicios del sistema nativo de Windows pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones **Nt*Xxx*** y **Zw*Xxx*** de una rutina, vea [Usar las versiones Nt y Zw de las rutinas de servicios del sistema nativo](/windows-hardware/drivers/kernel/using-nt-and-zw-versions-of-the-native-system-services-routines).

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte la sección Comentarios)
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

FltFlushBuffers

IRP_MJ_FLUSH_BUFFERS

Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema

ZwCreateFile

ZwOpenFile