From 151fdd7c82059214e4a37a26c11574924791e830 Mon Sep 17 00:00:00 2001 From: Chris Green Date: Wed, 10 Oct 2001 02:48:29 +0000 Subject: [PATCH] Added names of the "missing" paths for SHGetSpecialFolderPathA. --- dlls/shell32/shellpath.c | 82 ++++++++++++++++++++++++++++++++++------ include/shlobj.h | 49 +++++++++++++++--------- 2 files changed, 102 insertions(+), 29 deletions(-) diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c index 8d4006bb72a..37a9117f532 100644 --- a/dlls/shell32/shellpath.c +++ b/dlls/shell32/shellpath.c @@ -660,7 +660,7 @@ static const CSIDL_DATA CSIDL_Data[] = "Desktop", "Desktop" }, - { /* CSIDL_INTERNET (??) */ + { /* CSIDL_INTERNET */ 0, 1, /* FIXME */ NULL, NULL, @@ -715,22 +715,22 @@ static const CSIDL_DATA CSIDL_Data[] = "Start Menu", "Start Menu" }, - { /* not known */ - 0, 0, + { /* CSIDL_MYDOCUMENTS */ + 0, 1, /* FIXME */ NULL, NULL, }, - { /* not known */ - 0, 0, + { /* CSIDL_MYMUSIC */ + 0, 1, /* FIXME */ NULL, NULL, }, - { /* not known */ - 0, 0, + { /* CSIDL_MYVIDEO */ + 0, 1, /* FIXME */ NULL, NULL, }, - { /* not known */ + { /* unassigned */ 0, 0, NULL, NULL, @@ -795,8 +795,8 @@ static const CSIDL_DATA CSIDL_Data[] = "PrintHood", "PrintHood" }, - { /* not known */ - 0, 0, + { /* CSIDL_LOCAL_APPDATA */ + 0, 0, /* FIXME */ NULL, NULL, }, @@ -904,6 +904,66 @@ static const CSIDL_DATA CSIDL_Data[] = 0, 1, /* FIXME */ NULL, NULL + }, + { /* unassigned 32*/ + 0, 0, + NULL, + NULL, + }, + { /* unassigned 33*/ + 0, 0, + NULL, + NULL, + }, + { /* unassigned 34*/ + 0, 0, + NULL, + NULL, + }, + { /* CSIDL_COMMON_MUSIC */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* CSIDL_COMMON_PICTURES */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* CSIDL_COMMON_VIDEO */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* CSIDL_RESOURCES */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* CSIDL_RESOURCES_LOCALIZED */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* CSIDL_COMMON_OEM_LINKS */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* CSIDL_CDBURN_AREA */ + 0, 0, /* FIXME */ + NULL, + NULL, + }, + { /* unassigned 3C */ + 0, 0, + NULL, + NULL, + }, + { /* CSIDL_COMPUTERSNEARME */ + 0, 0, /* FIXME */ + NULL, + NULL, } }; #undef HKCU @@ -926,7 +986,7 @@ BOOL WINAPI SHGetSpecialFolderPathA ( TRACE("0x%04x,%p,csidl=%lu,0x%04x\n", hwndOwner,szPath,csidl,bCreate); - if ((folder > CSIDL_CONNECTIONS) || (CSIDL_Data[folder].hRootKey == 0)) + if ((folder > CSIDL_COMPUTERSNEARME) || (CSIDL_Data[folder].hRootKey == 0)) { ERR("folder unknown or not allowed\n"); return FALSE; diff --git a/include/shlobj.h b/include/shlobj.h index 6a93b935d2c..18a6fe962aa 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -449,30 +449,34 @@ void WINAPI SHChangeNotifyW(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID */ HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *); -#define CSIDL_DESKTOP 0x0000 +#define CSIDL_DESKTOP 0x0000 #define CSIDL_INTERNET 0x0001 -#define CSIDL_PROGRAMS 0x0002 -#define CSIDL_CONTROLS 0x0003 -#define CSIDL_PRINTERS 0x0004 -#define CSIDL_PERSONAL 0x0005 -#define CSIDL_FAVORITES 0x0006 -#define CSIDL_STARTUP 0x0007 -#define CSIDL_RECENT 0x0008 -#define CSIDL_SENDTO 0x0009 -#define CSIDL_BITBUCKET 0x000a -#define CSIDL_STARTMENU 0x000b -#define CSIDL_DESKTOPDIRECTORY 0x0010 -#define CSIDL_DRIVES 0x0011 -#define CSIDL_NETWORK 0x0012 -#define CSIDL_NETHOOD 0x0013 -#define CSIDL_FONTS 0x0014 -#define CSIDL_TEMPLATES 0x0015 +#define CSIDL_PROGRAMS 0x0002 +#define CSIDL_CONTROLS 0x0003 +#define CSIDL_PRINTERS 0x0004 +#define CSIDL_PERSONAL 0x0005 +#define CSIDL_FAVORITES 0x0006 +#define CSIDL_STARTUP 0x0007 +#define CSIDL_RECENT 0x0008 +#define CSIDL_SENDTO 0x0009 +#define CSIDL_BITBUCKET 0x000a +#define CSIDL_STARTMENU 0x000b +#define CSIDL_MYDOCUMENTS 0x000c +#define CSIDL_MYMUSIC 0x000d +#define CSIDL_MYVIDEO 0x000e +#define CSIDL_DESKTOPDIRECTORY 0x0010 +#define CSIDL_DRIVES 0x0011 +#define CSIDL_NETWORK 0x0012 +#define CSIDL_NETHOOD 0x0013 +#define CSIDL_FONTS 0x0014 +#define CSIDL_TEMPLATES 0x0015 #define CSIDL_COMMON_STARTMENU 0x0016 #define CSIDL_COMMON_PROGRAMS 0X0017 #define CSIDL_COMMON_STARTUP 0x0018 #define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 #define CSIDL_APPDATA 0x001a #define CSIDL_PRINTHOOD 0x001b +#define CSIDL_LOCAL_APPDATA 0x001c #define CSIDL_ALTSTARTUP 0x001d #define CSIDL_COMMON_ALTSTARTUP 0x001e #define CSIDL_COMMON_FAVORITES 0x001f @@ -494,8 +498,17 @@ HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *); #define CSIDL_COMMON_ADMINTOOLS 0x002f #define CSIDL_ADMINTOOLS 0x0030 #define CSIDL_CONNECTIONS 0x0031 +#define CSIDL_COMMON_MUSIC 0x0035 +#define CSIDL_COMMON_PICTURES 0x0036 +#define CSIDL_COMMON_VIDEO 0x0037 +#define CSIDL_RESOURCES 0x0038 +#define CSIDL_RESOURCES_LOCALIZED 0x0039 +#define CSIDL_COMMON_OEM_LINKS 0x003a +#define CSIDL_CDBURN_AREA 0x003b +#define CSIDL_COMPUTERSNEARME 0x003d #define CSIDL_FOLDER_MASK 0x00ff - +#define CSIDL_FLAG_PER_USER_INIT 0x0800 +#define CSIDL_FLAG_NO_ALIAS 0x1000 #define CSIDL_FLAG_DONT_VERIFY 0x4000 #define CSIDL_FLAG_CREATE 0x8000