Функция 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 до конца файла удаляется. Если
Flags
Задайте значение TRUE, чтобы неинициализировать карты частного кэша для файла перед очисткой данных файла.
Возвращаемое значение
CcPurgeCacheSection возвращает TRUE, если данные кэшированного файла были успешно удалены, FALSE в противном случае.
Замечания
Файловые системы вызывают ccPurgeCacheSection для очистки устаревших данных из кэша. Например, если файл усечен, но не удален, CcPurgeCacheSection следует вызывать для очистки кэшированных данных, которые больше не являются частью файла.
CcPurgeCacheSection не очищает сопоставленные файлы.
Перед вызовом CcPurgeCacheSectionвызывающий объект должен получить файл исключительно и убедиться, что ни один поток, в том числе вызывающий, сопоставлен или закреплен любой диапазон байтов в файле.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки |
NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |