小编wen*_*ibo的帖子

SetFileValidData在做什么?与SetEndOfFile有什么区别?

我寻找一种异步和高效扩展文件的方法.

在支持文档中异步磁盘I/O在Windows NT,Windows 2000和Windows XP上显示为同步说:

注意:应用程序可以通过使用SetFileValidData函数更改文件的有效数据长度,然后发出WriteFile,使前面提到的写操作异步.

在MSDN中,SetFileValidData是一个功能Sets the valid data length of the specified file.

但我仍然不明白什么是"有效数据",它与文件大小有什么区别?

我可以使用SetFilePointerExSetEndOfFile扩展文件大小,但是这个怎么做SetFileValidData

SetFileValidData无法输入大于文件大小的参数.在这种情况下,生命的意义是SetFileValidData什么?

windows file

10
推荐指数
2
解决办法
3831
查看次数

谁能解释一下 FindResource/LoadResource/LockResource?

我通过 LoadLibrary 加载一个模块(exe/dll)并在其中获取一个二进制资源的指针。

微软注意到应该使用三个步骤:

  1. 使用 FindResource 返回 HRSRC
  2. 将 LoadResource 与该 HRSRC 一起使用并返回 HGLOBAL
  3. 使用 LockResource 锁定 HGLOBAL 以返回您最终想要的指针。

我不明白为什么 MS 设计这个过程如此奇怪?

如果要检测 resource 的长度,必须使用 SizeofResource 和 first step 返回的指针,但不能输入 step2 和 step3 返回的指针。

如果检查这些步骤输出的指针地址,我得到了结果:

  1. LoadLibrary 加载的模块地址范围内的所有指针地址。
  2. step2 和 step3 的地址是一样的。

谁能解释一下这些函数究竟做了什么?

windows nested-resources

2
推荐指数
1
解决办法
1313
查看次数

标签 统计

windows ×2

file ×1

nested-resources ×1