The MSDN tells you: ----------- Remarks This function is a superset of {HYPERLINK "SHGetSpecialFolderPath.htm"}SHGetSpecialFolderPath, included with earlier versions of the Shell. It is implemented in a redistributable DLL, SHFolder.dll, that also simulates many of the new Shell folders on older platforms such as Windows 95, Windows 98, and Windows NT 4.0. This DLL always calls the current platform's version of this function. If that fails, it will try to simulate the appropriate behavior. -------- So the shfolder.dll is only for updating older operating systems. WinME/W2K has this function in shell32. The shfolder one has a smaller set of supported CSIDL's. I suspect (by looking on the imports with depends) the shfolder.dll just loads shell32 with LoadLibrary and forwards the functions if a GetProcAddress() is successful.
Ciao
Juergen
From: nog nog@sdf.lonestar.org Subject: Confusing SHGetFolderPath To: "wine-devel@winehq.com" wine-devel@winehq.com Send reply to: "wine-devel@winehq.com" wine-devel@winehq.com Date sent: Mon, 01 Jul 2002 22:12:13 +0200
Hi,
While I was looking through some of the wine dlls' code I found that the function SHGetFolderPath is in the shell32 dll and the shfolder dll. Is this ment to be like this? Because the docs that I read says that the function is meant to be in shfolder. Anyway are the two functions meant to do the same thing? If so then why is the one in shell32 implemented and working and the one on shfolder doesn't eaven appear to give a fixme message?
Nog