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 |
---|---|
|
Die Datei befindet sich auf einem schreibgeschützten Volume. Dies ist ein Fehlercode. |
|
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 |