commdlg: use IShellFolder::GetDisplayNameOf instead of SHGetPathFromIDList

Michael Jung mjung at
Thu May 19 11:18:35 CDT 2005

SHGetPathFromIDList works only for IDLists that use shell32's native binary 
format. Therefore it doesn't work with shell namespace extensions. The MSDN 
article "How To Support Common Dialog Browsing in a Shell Namespace 
Extension" states that "The extension must be able to supply a valid file 
system path in response to its IShellFolder::GetDisplayNameOf when 
SHGDN_FORPARSING is specified". Therefore calling GetDisplayNameOf should 
give the same result as SHGetPathFromIDList for the standard shell folders 
(MyComputer, MyDocuments, ...), while in addition being compatible with 
namespace extensions. As far as I understand it, the article mentioned above 
also states that Microsoft completely switched from SHGetPathFromIDList to 
GetDisplayNameOf in win2k's comdlg32 and the office 2k file dialogs.

	Use IShellFolder::GetDisplayNameOf instead of SHGetPathFromIDList to be able 
to browse shell namespace extensions.
Michael Jung
mjung at

More information about the wine-patches mailing list