我有一个导出函数的DLL。
在该函数中的某一点,调用Wininet的InternetCrackUrl()。
一切正常,但在一台特定的计算机上,InternetCrackUrl
返回FALSE
而GetLastError
返回120
(ERROR_CALL_NOT_IMPLEMENTED)。
我看不出有关电脑的任何特别之处,它是一台配备Win10 PRO的台式机。它适用于其他任何地方,在具有不同版本Windows的不同计算机上,甚至其他具有Win10的计算机。
我还制作了一个测试独立应用程序,只调用InternetCrackUrl
,这也有效,这让我相信它必须是关于DLL的东西。
关于我还能检查什么的任何想法?
答案 0 :(得分:0)
我使用Process Explorer检查加载了哪个WinInet.dll
。
我发现我的DLL与使用它的应用程序位于同一目录中。
在同一个目录中,还有一些1997年的WININET.DLL
古代版本,有人必须在那里复制,这就是我的DLL加载的内容。
当我删除旧WININET.DLL
时,System32中的那个已加载,现在它可以正常工作。