commdlg: use IShellFolder::GetDisplayNameOf instead of SHGetPathFromIDList

Michael Jung mjung at iss.tu-darmstadt.de
Thu May 19 11:19:47 CDT 2005


Ooops! Forgot the attachment (as usual ;).

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.

Changelog:
	Use IShellFolder::GetDisplayNameOf instead of SHGetPathFromIDList to be able
to browse shell namespace extensions.
--
Michael Jung
mjung at iss.tu-darmstadt.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dlls_commdlg_filedlg_c.diff
Type: text/x-diff
Size: 7949 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050519/1b49c653/dlls_commdlg_filedlg_c.bin


More information about the wine-patches mailing list