In Vista the CSIDL as used in SHGetFolderPath are no longer the way to go. The recommended APIs such as SHGetKnownFolderPath take a KNOWNFOLDERID or actually a REFKNOWNFOLDERID. If you’re wondering where those are defined and can’t find them, well, I couldn’t either. After consulting with Yves (consultant) the GUIDs are defined in KnownFolders.h.
Some of the APIs mention the header, some don’t.