- the correct registry location to override is User Shell Folders, not Shell Folders - if User Shell Folders doesn't exist in HKCU, HKLM should be tried - SHGetSpecialFolderPath should call SHGetFolderPath, not vice-versa - the default values should be localizable - some of the parameter checking and returned LPITEMIDLISTs were a bit off