Confusing SHGetFolderPath

Juergen Schmied juergen.schmied at debitel.net
Fri Jul 6 14:04:55 CDT 2001


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 at sdf.lonestar.org>
Subject:        	Confusing SHGetFolderPath
To:             	"wine-devel at winehq.com" <wine-devel at winehq.com>
Send reply to:  	"wine-devel at winehq.com" <wine-devel at 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
> 
> 
> 
> 






More information about the wine-devel mailing list