Функция CcPurgeCacheSection (ntifs.h)
Подпрограмма CcPurgeCacheSection очищает все или часть кэшированного файла из системного кэша.
Синтаксис
BOOLEAN CcPurgeCacheSection(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
ULONG Flags
);
Параметры
[in] SectionObjectPointer
Указатель на структуру, содержащую указатели на объект section объекта файла.
[in, optional] FileOffset
Указатель на переменную, указывающую начальное смещение байтов в кэшированном файле, в котором должны быть очищены данные.
Если параметр FileOffset имеет значение NULL, весь файл удаляется из кэша.
Если параметр FileOffset не имеет значение NULL, очищается только диапазон байтов, указанный в параметрах FileOffset и Length .
[in] Length
Длина диапазона байтов для очистки, начиная с FileOffset. Если значение Length равно нулю, то удаляется диапазон от FileOffset до конца файла. Если параметр FileOffset имеет значение NULL, значение Length игнорируется.
Flags
Задайте значение TRUE , чтобы неинициализировать все карты частного кэша для файла перед очисткой данных файла.
Возвращаемое значение
CcPurgeCacheSection возвращает значение TRUE , если кэшированные данные файла были успешно очищены, в противном случае — FALSE .
Комментарии
Файловые системы вызывают CcPurgeCacheSection для очистки устаревших данных из кэша. Например, если файл усекается, но не удаляется, следует вызывать CcPurgeCacheSection для очистки кэшированных данных, которые больше не являются частью файла.
CcPurgeCacheSection не очищает сопоставленные файлы.
Перед вызовом CcPurgeCacheSection вызывающий объект должен получить файл исключительно и убедиться, что ни один поток, включая вызывающий объект, не сопоставил или не закрепил диапазон байтов в файле.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |