Share via


Funzione NtFlushBuffersFileEx (ntifs.h)

La routine NtFlushBuffersFileEx invia una richiesta di scaricamento per un determinato file al file system. È possibile impostare un flag di operazione di scaricamento facoltativo per controllare la modalità di scrittura dei dati dei file nell'archiviazione.

Sintassi

__kernel_entry NTSYSCALLAPI NTSTATUS NtFlushBuffersFileEx(
  [in]  HANDLE           FileHandle,
  [in]  ULONG            Flags,
  [in]  PVOID            Parameters,
  [in]  ULONG            ParametersSize,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

Parametri

[in] FileHandle

Handle restituito da NtCreateFile o NtOpenFile per il file i cui buffer verranno scaricati. Questo parametro è obbligatorio e non può essere NULL.

[in] Flags

Flag dell'operazione di scaricamento. I flag possono essere uno dei valori seguenti:

Valore Significato
0 (normale) I dati e i metadati dei file nella cache dei file verranno scritti e l'archiviazione sottostante viene sincronizzata per scaricare la cache. File system Windows supportato: NTFS, ReFS, FAT, exFAT.
FLUSH_FLAGS_FILE_DATA_ONLY I dati dei file nella cache dei file verranno scritti. Non vengono scritti metadati e lo spazio di archiviazione sottostante non viene sincronizzato per scaricare la cache. Questo flag non è valido con handle di volume. File system Windows supportato: NTFS, FAT, exFAT.
FLUSH_FLAGS_NO_SYNC Verranno scritti i dati e i metadati dei file nella cache dei file. L'archiviazione sottostante non è sincronizzata per scaricare la cache. Questo flag non è valido con handle di volume. File system Windows supportato: NTFS, FAT, exFAT.
FLUSH_FLAGS_FILE_DATA_SYNC_ONLY I dati del file specificato verranno scritti dalla cache in memoria di Windows. Verranno scaricati solo i metadati necessari per il recupero dei dati (l'aggiornamento del timestamp verrà ignorato il più possibile). L'archiviazione sottostante viene sincronizzata per scaricare la cache. Questo flag non è valido con handle di volume o directory. File system Windows supportato: NTFS.

[in] Parameters

Puntatore a un blocco con parametri aggiuntivi. Questo parametro deve essere attualmente impostato su NULL.

[in] ParametersSize

Dimensione, in byte, del blocco a cui punta Parametri . Questo parametro deve essere attualmente impostato su 0.

[out] IoStatusBlock

Indirizzo del blocco di stato di I/O del chiamante. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

NtFlushBuffersFileEx restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_MEDIA_WRITE_PROTECTED Il file risiede in un volume protetto da scrittura; si tratta di un codice di errore.
STATUS_VOLUME_DISMOUNTED Il file risiede in un volume attualmente non montato; si tratta di un codice di errore.
STATUS_ACCESS_DENIED Il file non ha accesso in scrittura o accodamento.

Commenti

I driver minifilter devono chiamare FltFlushBuffers2 anziché chiamare NtFlushBuffersFileEx.

Un driver di filtro del file system legacy può chiamare NtFlushBuffersFileEx per inviare una richiesta di IRP_MJ_FLUSH_BUFFERS al file system per un determinato file. L'operazione di scaricamento è sincrona.

I chiamanti di NtFlushBuffersFileEx devono essere in esecuzione in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate.

Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (vedere la sezione Osservazioni).

Vedi anche

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS

Uso delle versioni Nt e Zw delle routine native di Servizi di sistema

NtCreateFile

NtOpenFile