【发布时间】:2012-08-27 00:30:22
【问题描述】:
我正在寻找一种异步且高效地扩展文件的方法。
在支持文档Asynchronous Disk I/O Appears as Synchronous on Windows NT, Windows 2000, and Windows XP 中说:
注意:应用程序可以进行前面提到的写操作 通过使用更改文件的有效数据长度来异步 SetFileValidData 函数,然后发出 WriteFile。
在 MSDN 中,SetFileValidData 是 Sets the valid data length of the specified file 的函数。
但我还是不明白什么是“有效数据”,它和文件大小有什么区别?
我可以使用SetFilePointerEx和SetEndOfFile来扩展文件大小,但是SetFileValidData如何做到这一点?
SetFileValidData 不能输入大于文件大小的参数。在这种情况下,SetFileValidData的生活意义是什么?
【问题讨论】:
-
SetEndOfFile 的文档解释了不同之处。