windows – 刷新磁盘写缓存

当Windows XP和Vista中的磁盘策略设置为在硬盘上启用写入缓存时,是否有办法刷新刚刚写入的文件,并确保它已提交到磁盘?

我想在C中以编程方式执行此操作.

关闭文件会在应用程序级别执行刷新,但不会在操作系统级别执行刷新.如果在关闭文件后从PC中断电,但在操作系统刷新磁盘写入缓存之前,文件将丢失,即使它已关闭.

您尚未指定开发环境,因此:

.净

IO流有一个.Flush方法,可以做你想要的.

Win32 API

有Flushfilebuffers调用,它将文件句柄作为参数.

编辑(基于来自OA的评论):Flushfilebuffers不需要管理权限;仅当传递给它的句柄是卷的句柄而不是单个文件时才会这样做.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...