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

CcFlushCache подпрограмма сбрасывает все или часть кэшированного файла на диск.

Синтаксис

VOID CcFlushCache(
  [in]            PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in, optional]  PLARGE_INTEGER           FileOffset,
  [in]            ULONG                    Length,
  [out, optional] PIO_STATUS_BLOCK         IoStatus
);

Параметры

[in] SectionObjectPointer

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

[in, optional] FileOffset

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

Если FileOffsetNULL, весь файл очищается из кэша.

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

[in] Length

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

[out, optional] IoStatus

Указатель на структуру, которая получает окончательное состояние завершения и сведения об операции очистки. Если данные успешно удалены, IoStatus.Status содержит STATUS_SUCCESS. Если не все данные успешно удалены, IoStatus.Information содержит фактическое количество байтов, которые были удалены. В противном случае IoStatus.Information содержит значение, заданное в length.

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

Никакой

Замечания

CcFlushCache не имеет параметра Wait. Таким образом вызывающий объект должен иметь возможность ввести состояние ожидания до тех пор, пока все данные не будут удалены.

Чтобы кэшировать файл, используйте CcInitializeCacheMap.

Требования

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

См. также

CcCopyWrite

CcInitializeCacheMap

CcIsFileCached

CcPurgeCacheSection