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


Функция CcPurgeCacheSection (ntifs.h)

Процедура CcPurgeCacheSection очищает все или часть кэшированного файла из системного кэша.

Синтаксис

BOOLEAN CcPurgeCacheSection(
  [in]           PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in, optional] PLARGE_INTEGER           FileOffset,
  [in]           ULONG                    Length,
                 ULONG                    Flags
);

Параметры

[in] SectionObjectPointer

Указатель на структуру, содержащую указатели объекта раздела файла.

[in, optional] FileOffset

Указатель на переменную, указывающую начальное смещение байтов в кэшированном файле, где данные должны быть удалены.

Если FileOffsetNULL, весь файл удаляется из кэша.

Если FileOffset не NULL, удаляется только диапазон байтов, указанный FileOffset и Length.

[in] Length

Длина диапазона байтов до очистки, начиная с FileOffset. Если длина равна нулю, диапазон от FileOffset до конца файла удаляется. Если FileOffset значение NULL, длина игнорируется.

Flags

Задайте значение TRUE, чтобы неинициализировать карты частного кэша для файла перед очисткой данных файла.

Возвращаемое значение

CcPurgeCacheSection возвращает TRUE, если данные кэшированного файла были успешно удалены, FALSE в противном случае.

Замечания

Файловые системы вызывают ccPurgeCacheSection для очистки устаревших данных из кэша. Например, если файл усечен, но не удален, CcPurgeCacheSection следует вызывать для очистки кэшированных данных, которые больше не являются частью файла.

CcPurgeCacheSection не очищает сопоставленные файлы.

Перед вызовом CcPurgeCacheSectionвызывающий объект должен получить файл исключительно и убедиться, что ни один поток, в том числе вызывающий, сопоставлен или закреплен любой диапазон байтов в файле.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также

CcFlushCache

CcInitializeCacheMap

CcIsFileCached

CcUninitializeCacheMap

MmFlushImageSection