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
Uso delle versioni Nt e Zw delle routine native di Servizi di sistema