1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _SHFOLDER_H_ 7 #define _SHFOLDER_H_ 8 9 #include <_mingw_unicode.h> 10 11 #ifndef SHFOLDERAPI 12 #if defined(_SHFOLDER_) 13 #define SHFOLDERAPI STDAPI 14 #else 15 #define SHFOLDERAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI 16 #endif 17 #endif 18 19 #ifndef CSIDL_PERSONAL 20 #define CSIDL_PERSONAL 0x0005 21 #endif 22 23 #ifndef CSIDL_MYMUSIC 24 #define CSIDL_MYMUSIC 0x000d 25 #endif 26 27 #ifndef CSIDL_APPDATA 28 #define CSIDL_APPDATA 0x001A 29 #endif 30 31 #ifndef CSIDL_LOCAL_APPDATA 32 33 #define CSIDL_LOCAL_APPDATA 0x001C 34 #define CSIDL_INTERNET_CACHE 0x0020 35 #define CSIDL_COOKIES 0x0021 36 #define CSIDL_HISTORY 0x0022 37 #define CSIDL_COMMON_APPDATA 0x0023 38 #define CSIDL_WINDOWS 0x0024 39 #define CSIDL_SYSTEM 0x0025 40 #define CSIDL_PROGRAM_FILES 0x0026 41 #define CSIDL_MYPICTURES 0x0027 42 #define CSIDL_PROGRAM_FILES_COMMON 0x002b 43 #define CSIDL_COMMON_DOCUMENTS 0x002e 44 #define CSIDL_RESOURCES 0x0038 45 #define CSIDL_RESOURCES_LOCALIZED 0x0039 46 47 #define CSIDL_FLAG_CREATE 0x8000 48 49 #define CSIDL_COMMON_ADMINTOOLS 0x002f 50 #define CSIDL_ADMINTOOLS 0x0030 51 #endif 52 53 #define SHGetFolderPath __MINGW_NAME_AW(SHGetFolderPath) 54 #define PFNSHGETFOLDERPATH __MINGW_NAME_AW(PFNSHGETFOLDERPATH) 55 56 SHFOLDERAPI SHGetFolderPathA(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPSTR pszPath); 57 SHFOLDERAPI SHGetFolderPathW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath); 58 59 typedef HRESULT (__stdcall *PFNSHGETFOLDERPATHA)(HWND,int,HANDLE,DWORD,LPSTR); 60 typedef HRESULT (__stdcall *PFNSHGETFOLDERPATHW)(HWND,int,HANDLE,DWORD,LPWSTR); 61 62 #endif 63