Moin Bumbi,
schau Dir doch mal das Beispiel für SHGetFileInfo im
PSDK (oder
MSDN) an.
Dort werden nicht die GUIDs verwendet, sondern es wird, mit Hilfe von SHGetFolderLocation und dem CSIDL_*-Wert (z.B. CSIDL_BITBUCKET) ein PIDL für das Objekt geholt, und damit dann SHGetFileInfo aufgerufen.
Vielleicht funktioniert dieser Weg ja auch unter Vista.