Windows上的Linux sync_file_range系统调用的等价物?

时间:2015-10-07 23:24:51

标签: winapi filesystems ntfs kernel32 windows-kernel

我需要fsync附加到文件的一系列字节,而不强制刷新元数据(filesize,...)。

1 个答案:

答案 0 :(得分:2)

正如你所说的那样是ring3而且它是C ++,这就是答案:

映射文件后需要调用FlushViewOfFile。根据MSDN:

  

FlushViewOfFile函数不会刷新文件元数据   不等待返回,直到从中刷新更改   底层硬件磁盘缓存并物理写入磁盘。

来源:https://msdn.microsoft.com/en-us/library/windows/desktop/aa366563%28v=vs.85%29.aspx

写入数据并使用FlushViewOfFile的示例代码位于:http://forums.codeguru.com/showthread.php?367742-FlushViewOfFile-does-not-Flush