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,则会从缓存中清除整个文件。
如果未 NULLFileOffset,则仅清除由 fileOffset 指定的字节范围,并清除 Length。
[in] Length
要清除的字节范围的长度,从 FileOffset开始。 如果 长度 为零,则会清除从 FileOffset 到文件末尾的范围。 如果 FileOffsetNULL,则忽略 Length。
Flags
设置为 TRUE 在清除文件数据之前取消初始化文件的任何专用缓存映射。
返回值
言论
文件系统调用 CcPurgeCacheSection 清除缓存中的过时数据。 例如,在截断但未删除文件时,应调用 CcPurgeCacheSection 以清除不再属于文件的任何缓存数据。
CcPurgeCacheSection 不会清除映射的文件。
在调用 CcPurgeCacheSection之前,调用方必须以独占方式获取文件,并确保文件中没有线程(包括调用方)映射或固定任何字节范围。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | ntifs.h (include Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |