vista 下 SHFileOperation 内部复制文件是调用的是哪个api ?

vincentcsdn 2007-05-23 05:50:23
我知道2003及以下的系统 SHFileOperation 内部是调用 CopyFileExW 来复制文件的,
但是我发现到了 vista下, SHFileOperationW 内部不再调用 CopyFile 或 CopyFileEx.复制文件了,我手上只有测试版的vista, 跟踪起来显示不了正确的符号.

谁研究过这个? 请教一下?!

谢谢!
...全文
438 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
suffocater 2008-01-12
我的开发平台是XP+VC++2008,有多个多线程,静态链接MFC。

我的程序里面也有关于文件的操作。所有工作线程都会使用CFileFind去等待某个特定文件的查找结果,如果等不到就一直运行,直到找到了以后才终止。

程序开发完以后在开发机上测试,长时间一直运行,至少8个小时后,CPU占用率仍然保持在15%以下,其他程序可以正常启动和运行,系统运行速度正常。移到Vista以后出现异常。程序CPU占用率随时间推移在增加,到最后达到90%以上,退出屏幕保护程序都起码需要20秒钟,退出屏幕保护程序以后其他程序都无法正常启动,仿佛系统资源被耗尽,甚至在关闭该进程以后系统都长时间不能恢复启动时的效率,除非重新启动。不运行该程序则不会出现异常,确定是程序的问题。任务管理器中内存使用量一直保持不变,所以不太认为是内存泄漏。

各位以前有遇到过这种现象吗?一般会是什么问题导致的?急需帮助。
回复
vincentcsdn 2007-05-30
vista下 SHFileOperation 和 SHFileOperationEx都是直接使用ReadFile和WriteFile复制文件的。这样似乎可以使SHFileOperation产生的进度窗口计算的时间更准确一些。(-.-)))
回复
healer_kx 2007-05-24
Maybe啊。
回复
nooning 2007-05-24
dfz(小羽) 的回答经典

还有就是 ZwOpenFile
回复
dfz 2007-05-24
最后还是调用内核函数ZwCreateFile ZwWriteFile之类的。
回复
yjgx007 2007-05-24
mark. study.
回复
healer_kx 2007-05-24
这个确实得关注一下了,。MARK
回复
verybigbug 2007-05-24
Vista下用这个IFileOperation 接口了。
回复
相关推荐
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2007-05-23 05:50
社区公告
暂无公告