Windows 10 1709中的SHFileOperation要慢得多

时间:2018-04-27 13:36:16

标签: winapi windows-10 win-universal-app shfileoperation

我们发现在已更新到1709的系统上使用SHFileOperation删除文件夹的速度非常慢。看起来有些内容与通用Windows应用程序相关,导致了这种情况。

此代码:

    sFileOp.wFunc = FO_DELETE;
    sFileOp.pFrom = buf;
    sFileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_NOERRORUI;

    if(SHFileOperation(&sFileOp))

传递类似“C:\ Jobs \ Job1”的路径(是的,双重空终止),文件夹中有少量文件 - 比如2或3 - 在Windows 7和Windows 10 1511上以毫秒为单位运行。 Windows 10 1709需要1到3秒。

在调用SHFileOperation之后和返回之前,我们在Visual Studio 2013输出窗口中注意到这些消息中的3个或4个:

onecoreuap \ shell \ windows.storage \ sharedstoragesources \ util.cpp(2831)\ windows.storage.dll!7650BF24 :(来电者:765D88E4)ReturnHr(1)tid(1bb0)80070490找不到元素。< / em>的

这是一个使用VS2013构建的Win32,x86应用程序。这发生在我们已经发货超过18个月的版本中。要回顾1511和Windows 7上预期的版本运行,在最后两个Windows 10更新上要慢得多。不知何故,我们似乎已经与通用Windows应用程序DLL纠缠在一起了。我们如何避免这种情况?

0 个答案:

没有答案