Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die NtFlushBuffersFileEx- Routine sendet eine flush-Anforderung für eine bestimmte Datei an das Dateisystem. Ein optionales Flush-Vorgangskennzeichnung kann festgelegt werden, um zu steuern, wie Dateidaten in den Speicher geschrieben werden.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtFlushBuffersFileEx(
[in] HANDLE FileHandle,
[in] ULONG Flags,
[in] PVOID Parameters,
[in] ULONG ParametersSize,
[out] PIO_STATUS_BLOCK IoStatusBlock
);
Parameter
[in] FileHandle
Handle, das von NtCreateFile- oder NtOpenFile- für die Datei zurückgegeben wird, deren Puffer geleert werden. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] Flags
Löschvorgangskennzeichnungen. Flags können eines der folgenden Werte sein:
| Wert | Bedeutung |
|---|---|
| 0 (normal) | Dateidaten und Metadaten im Dateicache werden geschrieben, und der zugrunde liegende Speicher wird synchronisiert, um den Cache zu leeren. Unterstützte Windows-Dateisysteme: NTFS, ReFS, FAT, exFAT. |
| FLUSH_FLAGS_FILE_DATA_ONLY | Dateidaten im Dateicache werden geschrieben. Es werden keine Metadaten geschrieben, und der zugrunde liegende Speicher wird nicht synchronisiert, um den Cache zu leeren. Dieses Kennzeichen ist mit Volumehandles nicht gültig. Unterstützte Windows-Dateisysteme: NTFS, FAT, exFAT. |
| FLUSH_FLAGS_NO_SYNC | Dateidaten und Metadaten im Dateicache werden geschrieben. Der zugrunde liegende Speicher wird nicht synchronisiert, um den Cache zu leeren. Dieses Kennzeichen ist mit Volumehandles nicht gültig. Unterstützte Windows-Dateisysteme: NTFS, FAT, exFAT. |
| FLUSH_FLAGS_FILE_DATA_SYNC_ONLY | Daten aus der angegebenen Datei werden aus dem Windows-Speichercache geschrieben. Nur Metadaten, die für den Datenabruf erforderlich sind, werden geleert (Zeitstempelaktualisierung wird so weit wie möglich übersprungen). Der zugrunde liegende Speicher wird synchronisiert, um den Cache zu leeren. Dieses Kennzeichen ist mit Volume- oder Verzeichnishandles nicht gültig. Unterstützte Windows-Dateisysteme: NTFS. |
[in] Parameters
Zeiger auf einen Block mit zusätzlichen Parametern. Dieser Parameter muss derzeit auf NULL festgelegt werden.
[in] ParametersSize
Die Größe des Blocks in Bytes, auf den parameter zeigen. Dieser Parameter muss derzeit auf 0 festgelegt werden.
[out] IoStatusBlock
Adresse des E/A-Statusblocks des Anrufers. Dieser Parameter ist erforderlich und darf nicht NULL sein.
Rückgabewert
NtFlushBuffersFileEx gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
| Rückgabecode | Beschreibung |
|---|---|
| STATUS_MEDIA_WRITE_PROTECTED | Die Datei befindet sich auf einem schreibgeschützten Volume; Dies ist ein Fehlercode. |
| STATUS_VOLUME_DISMOUNTED | Die Datei befindet sich auf einem Volume, das derzeit nicht bereitgestellt ist; Dies ist ein Fehlercode. |
| STATUS_ACCESS_DENIED | Die Datei hat weder Schreib- noch Anfügezugriff. |
Bemerkungen
Minifiltertreiber sollten FltFlushBuffers2- aufrufen, anstatt NtFlushBuffersFileEx-aufzurufen.
Ein älteren Dateisystemfiltertreiber kann NtFlushBuffersFileEx- aufrufen, um eine IRP_MJ_FLUSH_BUFFERS Anforderung an das Dateisystem für eine bestimmte Datei auszugeben. Der Löschvorgang ist synchron.
Aufrufer von NtFlushBuffersFileEx- müssen unter IRQL = PASSIVE_LEVEL und mit speziellen Kernel-APCs ausgeführt werden, dieaktiviert sind.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx und ZwXxx- Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Windows 8 |
| Zielplattform- | Universal |
| Header- | ntifs.h (einschließlich Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | PASSIVE_LEVEL (Siehe Abschnitt "Hinweise".) |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen