Freigeben über


ZwFlushBuffersFileEx-Funktion (ntifs.h)

Die ZwFlushBuffersFileEx Routine wird von einem Dateisystemfiltertreiber aufgerufen, um eine leeren Anforderung für eine bestimmte Datei an das Dateisystem zu senden. Ein optionales Flush-Vorgangskennzeichnung kann festgelegt werden, um zu steuern, wie Dateidaten in den Speicher geschrieben werden.

Syntax

NTSYSAPI NTSTATUS ZwFlushBuffersFileEx(
  [in]  HANDLE           FileHandle,
        ULONG            FLags,
        PVOID            Parameters,
        ULONG            ParametersSize,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

Parameter

[in] FileHandle

Handle, das von ZwCreateFile oder ZwOpenFile- für die Datei zurückgegeben wird, deren Puffer geleert werden. Dieser Parameter ist erforderlich und kann nicht NULL-werden.

FLags

Löschvorgangskennzeichnungen. Flags können 0 oder einer der folgenden Werte sein.

Wert Bedeutung
FLUSH_FLAGS_FILE_DATA_ONLY

Wenn sich die Datei in einem NTFS-Dateisystem befindet, werden Dateidaten im Dateicache 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.

FLUSH_FLAGS_NO_SYNC

Wenn sich die Datei in einem NTFS-Dateisystem befindet, werden Dateidaten und Metadaten im Dateicache geschrieben. Der zugrunde liegende Speicher wird nicht synchronisiert, um den Cache zu leeren. Dieses Kennzeichen ist mit Volumehandles nicht gültig.

 

Parameters

Adresse des E/A-Statusblocks des Anrufers. Dieser Parameter ist erforderlich und kann nicht NULL-werden.

ParametersSize

Die Größe des Parameterblocks in Bytes.

[out] IoStatusBlock

Adresse des E/A-Statusblocks des Anrufers. Dieser Parameter ist erforderlich und kann nicht NULL-werden.

Rückgabewert

ZwFlushBuffersFileEx 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

Ein Dateisystemfiltertreiber kann ZwFlushBuffersFileEx- aufrufen, um eine IRP_MJ_FLUSH_BUFFERS Anforderung an das Dateisystem für eine bestimmte Datei auszugeben. Der Löschvorgang ist synchron.

Minifiltertreiber sollten FltFlushBuffers aufrufen, anstatt ZwFlushBuffersFileEx-aufzurufen.

Aufrufer von ZwFlushBuffersFileEx- müssen unter IRQL = PASSIVE_LEVEL und mit speziellen Kernel-APCs ausgeführt werden, dieaktiviert sind.

Hinweis Wenn der Aufruf der ZwFlushBuffersFileEx- Funktion im Benutzermodus auftritt, sollten Sie den Namen "NtFlushBuffersFileEx" anstelle von "ZwFlushBuffersFileEx" verwenden.
 
Für Aufrufe von Kernelmodustreibern können sich die Versionen **Nt*Xxx*** und **Zw*Xxx*** einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Versionen **Nt*Xxx*** und **Zw*Xxx*** einer Routine finden Sie unter [Using Nt and Zw Versions of the Native System Services Routines](/windows-hardware/drivers/kernel/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

FltFlushBuffers

IRP_MJ_FLUSH_BUFFERS

Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen

ZwCreateFile-

ZwOpenFile-