Функция CcCoherencyFlushAndPurgeCache (ntifs.h)
CcCoherencyFlushAndPurgeCache рутинные очистки или очистки кэша, чтобы обеспечить совместную работу кэша.
Синтаксис
void CcCoherencyFlushAndPurgeCache(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
[out] PIO_STATUS_BLOCK IoStatus,
[in, optional] ULONG Flags
);
Параметры
[in] SectionObjectPointer
Указатель на структуру SECTION_OBJECT_POINTERS, содержащую указатели объекта раздела объекта файла.
[in, optional] FileOffset
Указатель на переменную, указывающую начальное смещение байтов на очистку или очистку.
[in] Length
Длина в байтах данных для очистки или очистки, начиная с FileOffset. Этот параметр игнорируется, если указатель NULL передается в FileOffset.
[out] IoStatus
Указатель на выделенную вызывающим IO_STATUS_BLOCK структуру, которая получает окончательное состояние завершения и сведения об операции.
[in, optional] Flags
Битовая маска следующих флагов, указывающая, как выполняется операция:
Ценность | Значение |
---|---|
CC_FLUSH_AND_PURGE_NO_PURGE | Очистка, но не очищайте кэш. Это полезно для чтения совместного использования. |
CC_FLUSH_AND_PURGE_GATHER_DIRTY_BITS | Зарезервировано для использования системы; не используйте. |
CC_FLUSH_AND_PURGE_WRITEABLE_VIEWS_NOTSEEN | Вызывающий объект может задать этот флаг, если нет сопоставлений с файлом за пределами диспетчера кэша, чтобы пропустить дорогостоящую операцию обрезки рабочих наборов процесса. |
Возвращаемое значение
Никакой
Замечания
Используйте CcCoherencyFlushAndPurgeCache, если это возможно, вместо явной очистки и очистки последовательности вызовов, так как это приведет к недопустимости сопоставленных пользователем представлений, чтобы предотвратить повреждение данных. CcCoherencyFlushAndPurgeCache обеспечивает совместное выполнение кэша; Таким образом, нет возможности выполнить очистку только через эту функцию.
Файл необходимо получить исключительно перед вызовом CcCoherencyFlushAndPurgeCache.
Вы можете удалить или очистить и очистить любой диапазон байтов в файле с помощью параметров FileOffset и Length. Вы также можете удалить или очистить и очистить весь файл, если передать указатель NULL указатель на параметр FileOffset.
Вызов CcCoherencyFlushAndPurgeCache является синхронной (блокирующей) операцией, а не асинхронной (неблокирующей).
Значение состояния IoStatus
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 7 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h, FltKernel.h) |
библиотеки |
NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |