我调用CreateFile
withFILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH | FILE_FLAG_OVERLAPPED
然后调用许多WriteFile
withOVERLAPPED
结构,其中两者Offset
和OffsetHigh
成员都设置为0xFFFFFFFF
将新数据附加到文件中。
是否保证操作将按照要求的顺序完成?
这对我来说似乎是合乎逻辑的,但我没有看到明确和明确的证据。
来自https://support.microsoft.com/en-us/kb/156932的引用表明操作将是同步的:
在 Windows NT 上,对扩展其长度的文件的任何写操作都是同步的。
伟大的。同步操作保持顺序。但是之后:
该
FILE_FLAG_NO_BUFFERING
标志对异步操作的文件系统行为影响最大。这是保证 I/O 请求实际上是异步的最佳方式。
后来引起了我的怀疑。有人可以澄清一下吗?