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
指向变量的指针,该变量指定要刷新数据的缓存文件中的起始字节偏移量。
如果 FileOffset 为 NULL,则会从缓存中刷新整个文件。
如果 FileOffset 不为 NULL,则仅刷新 FileOffset 和 Length 指定的字节范围。
[in] Length
要刷新的字节范围的长度,从 FileOffset 开始。 如果 FileOffset 为 NULL,则忽略 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 |