2017-07-31 15:47 GMT+08:00 Huw Davies <huw@codeweavers.com>: > > You probably want to use SHGetKnownFolderIDList() instead of these > last two calls. > I had some more tests of SHGetKnownFolderIDList() and IShellFolder_BindToObject(), I found that in some cases SHGetKnownFolderIDList() will return a pidl which ILIsEmpty() thinks it is empty. And IShellFolder_BindToObject() will return E_INVALIDARG for an empty pidl.
So keep using SHGetKnownFolderPath() and IShellFolder_ParseDisplayName() seems can make this work more easy?