如何确保在文件 IO (WriteFile()) 上将数据刷新到 HDD(未缓冲)

How to make sure data is flushed to HDD (not buffered) on file IO (WriteFile())

在漫长且可能对系统造成压力的操作中,我不时通过文件句柄和 WriteFile

更新文件

我注意到,当我用鼠标右键单击该文件并在 Windows 中询问其属性时,我根本看不到它已更新。修改后的 time/data 并未反映我所做的实际更新。

我意识到 Windows 可能会在文件句柄关闭之前缓冲内存中的内容。整个想法是更新文件,这样当系统崩溃时我们至少知道我们在哪里(有点)。

如何确保在不关闭文件句柄的情况下刷新内容?

我建议您尝试 flushing the buffer or check whether WriteFile is returning TRUE. If it's not, there's probably something wrong, like permission denied or something. You can use GetLastError