<http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp> lists a CSIDL_PROFILES (0x3e) in addition to CSIDL_PROFILE (0x28). This patch adds the #define and an entry for SHGetSpecialFolderPathA. License: X11, LGPL Changelog: Paul Rupe <prupe@myrealbox.com> Add CSIDL_PROFILES. Improved logging for non-existent CSIDL values. -- Paul Rupe <prupe@myrealbox.com> "She smiled, in the end."
Index: dlls/shell32/shellpath.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/shellpath.c,v retrieving revision 1.67 diff -u -r1.67 shellpath.c --- dlls/shell32/shellpath.c 21 Nov 2002 23:56:42 -0000 1.67 +++ dlls/shell32/shellpath.c 16 Mar 2003 20:05:51 -0000 @@ -995,6 +995,11 @@ 0, 0, /* FIXME */ NULL, NULL, + }, + { /* CSIDL_PROFILES */ + 0, 0, /* FIXME */ + NULL, + NULL, } }; #undef HKCU @@ -1017,14 +1022,15 @@ TRACE("%p,%p,csidl=%lu,0x%04x\n", hwndOwner,szPath,csidl,bCreate); - if ((folder > CSIDL_COMPUTERSNEARME) || (CSIDL_Data[folder].hRootKey == 0)) + if ((folder >= sizeof(CSIDL_Data) / sizeof(CSIDL_Data[0])) || + (CSIDL_Data[folder].hRootKey == 0)) { - ERR("folder unknown or not allowed\n"); + ERR("folder 0x%04lx unknown or not allowed\n", folder); return FALSE; } if (CSIDL_Data[folder].hRootKey == (HKEY)1) { - FIXME("folder unknown, please add.\n"); + FIXME("folder 0x%04lx unknown, please add.\n", folder); return FALSE; } Index: include/shlobj.h =================================================================== RCS file: /home/wine/wine/include/shlobj.h,v retrieving revision 1.59 diff -u -r1.59 shlobj.h --- include/shlobj.h 1 Feb 2003 00:41:30 -0000 1.59 +++ include/shlobj.h 16 Mar 2003 20:05:51 -0000 @@ -566,6 +566,7 @@ #define CSIDL_COMMON_OEM_LINKS 0x003a #define CSIDL_CDBURN_AREA 0x003b #define CSIDL_COMPUTERSNEARME 0x003d +#define CSIDL_PROFILES 0x003e #define CSIDL_FOLDER_MASK 0x00ff #define CSIDL_FLAG_PER_USER_INIT 0x0800 #define CSIDL_FLAG_NO_ALIAS 0x1000