CcPurgeCacheSection-Funktion (ntifs.h)
Die CcPurgeCacheSection-Routine löscht alle oder einen Teil einer zwischengespeicherten Datei aus dem Systemcache.
Syntax
BOOLEAN CcPurgeCacheSection(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
ULONG Flags
);
Parameter
[in] SectionObjectPointer
Zeiger auf eine Struktur, die die Abschnittsobjektzeiger des Dateiobjekts enthält.
[in, optional] FileOffset
Zeiger auf eine Variable, die den Anfangsbyteoffset in der zwischengespeicherten Datei angibt, in der die Daten gelöscht werden sollen.
Wenn FileOffsetNULL ist, wird die gesamte Datei aus dem Cache gelöscht.
Wenn FileOffset nicht NULL ist, wird nur der durch FileOffset und Length angegebene Bytebereich gelöscht.
[in] Length
Länge des zu bereinigenden Bytebereichs ab FileOffset. Wenn Length 0 ist, wird der Bereich von FileOffset bis zum Ende der Datei gelöscht. Wenn FileOffsetNULL ist, wird Die Länge ignoriert.
Flags
Legen Sie auf TRUE fest, um alle privaten Cachezuordnungen für die Datei zu entinitialisieren, bevor sie die Dateidaten bereinigen.
Rückgabewert
CcPurgeCacheSection gibt TRUE zurück, wenn die zwischengespeicherten Dateidaten erfolgreich gelöscht wurden, andernfalls FALSE .
Hinweise
Dateisysteme rufen CcPurgeCacheSection auf, um veraltete Daten aus dem Cache zu löschen. Wenn beispielsweise eine Datei abgeschnitten, aber nicht gelöscht wird, sollte CcPurgeCacheSection aufgerufen werden, um alle zwischengespeicherten Daten zu löschen, die nicht mehr Teil der Datei sind.
CcPurgeCacheSection löscht zugeordnete Dateien nicht.
Vor dem Aufrufen von CcPurgeCacheSection muss der Aufrufer die Datei exklusiv abrufen und sicherstellen, dass kein Thread, einschließlich des Aufrufers, einen Bytebereich in der Datei zugeordnet oder angeheftet hat.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |