我寻找一种异步和高效扩展文件的方法.
在支持文档中异步磁盘I/O在Windows NT,Windows 2000和Windows XP上显示为同步说:
注意:应用程序可以通过使用SetFileValidData函数更改文件的有效数据长度,然后发出WriteFile,使前面提到的写操作异步.
在MSDN中,SetFileValidData是一个功能Sets the valid data length of the specified file.
但我仍然不明白什么是"有效数据",它与文件大小有什么区别?
我可以使用SetFilePointerEx和SetEndOfFile扩展文件大小,但是这个怎么做SetFileValidData?
SetFileValidData无法输入大于文件大小的参数.在这种情况下,生命的意义是SetFileValidData什么?
我通过 LoadLibrary 加载一个模块(exe/dll)并在其中获取一个二进制资源的指针。
微软注意到应该使用三个步骤:
我不明白为什么 MS 设计这个过程如此奇怪?
如果要检测 resource 的长度,必须使用 SizeofResource 和 first step 返回的指针,但不能输入 step2 和 step3 返回的指针。
如果检查这些步骤输出的指针地址,我得到了结果:
谁能解释一下这些函数究竟做了什么?