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,则会从缓存刷新整个文件。

如果未 NULLFileOffset,则仅刷新 fileOffset 指定的字节范围,并刷新 长度

[in] Length

要刷新的字节范围的长度,从 FileOffset开始。 如果 FileOffsetNULL,则忽略 Length

[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