Функция 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 , содержащую указатели на объект section объекта файла.

[in, optional] FileOffset

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

Если параметр FileOffset имеет значение NULL, весь файл очищается из кэша.

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

[in] Length

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

[out, optional] IoStatus

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

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

None

Remarks

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe

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

CcCopyWrite

CcInitializeCacheMap

CcIsFileCached

CcPurgeCacheSection