Поделиться через


Функция 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

См. также раздел

CcFlushCache

CcInitializeCacheMap

CcIsFileCached

CcUninitializeCacheMap

MmFlushImageSection