Getting a Path from an IDList


Not much to this - but I notice searches for this coming to my blog, so I might as well provide the answer.
 
Use SHGetPathFromIDList - as long as the pidl is part of the file system, this will succeed.  If you don't need a file system path, you can pass something like PKEY_ItemFolderPathDisplay to IShellItem2::GetProperty (use SHCreateItemFromIDList to go from a pidl to an IShellItem2).
 
Incidently, if you want to surface search results in Windows Vista, make sure your IShellFolder also supplies PKEY_ItemFolderPathDisplayNarrow or you'll end up looking silly (if there's a difference between your parsing path and your display path).
 
Enjoy,
James
Skip to main content