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,则仅刷新 FileOffsetLength 指定的字节范围。

[in] Length

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

[out, optional] IoStatus

指向结构的指针,该结构接收最终完成状态和有关刷新操作的信息。 如果成功刷新数据, IoStatus.Status 将包含STATUS_SUCCESS。 如果并非所有数据都已成功刷新, IoStatus.Information 将包含已刷新的实际字节数。 否则, IoStatus.Information 包含 Length 中给定的值。

返回值

备注

CcFlushCache 没有 Wait 参数。 因此,调用方必须能够进入等待状态,直到刷新所有数据。

若要缓存文件,请使用 CcInitializeCacheMap

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe

另请参阅

CcCopyWrite

CcInitializeCacheMap

CcIsFileCached

CcPurgeCacheSection