Freigeben über


FltFlushBuffers-Funktion (fltkernel.h)

Die FltFlushBuffers-Routine wird vom Minifiltertreiber verwendet, um eine Leerungsanforderung für eine bestimmte Datei an das Dateisystem zu senden. Verwenden Sie FltFlushBuffers2 , um verschiedene Optionen für den Leerungstyp anzugeben.

Syntax

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

Parameter

[in] Instance

Undurchsichtiger instance Zeiger für den Aufrufer. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] FileObject

Dateiobjektzeiger für die Datei, die geleert werden soll. Dieser Parameter ist erforderlich und darf nicht NULL sein.

Rückgabewert

FltFlushBuffers 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 eingebunden ist. Dies ist ein Fehlercode.

Hinweise

Ein Minifiltertreiber kann FltFlushBuffers aufrufen, um eine IRP_MJ_FLUSH_BUFFERS Anforderung an das Dateisystem für eine bestimmte Datei ausstellen. Der Leerungsvorgang ist synchron und wird an die instance unter der angegebenen Instanz ausgegeben.

Wenn FileObject für eine Datei ist, werden sowohl die Dateidaten als auch die Metadaten im Dateicache geschrieben, und der zugrunde liegende Speicher wird synchronisiert, um den Cache zu leeren. Wenn FileObject für ein Volume ist, bewirkt das Dateisystem, dass sowohl die Dateidaten als auch die Metadaten für alle geänderten Dateien auf dem Volume geschrieben werden, und der zugrunde liegende Speicher wird synchronisiert, um den Cache zu leeren. Verwenden Sie FltFlushBuffers2 , um den Leerungstyp, den das Dateisystem ausführen sollte, präziser zu steuern.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS