shfolder.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. #include <_mingw_unicode.h>
  9. #ifndef SHFOLDERAPI
  10. #if defined(_SHFOLDER_)
  11. #define SHFOLDERAPI STDAPI
  12. #else
  13. #define SHFOLDERAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
  14. #endif
  15. #endif
  16. #ifndef CSIDL_PERSONAL
  17. #define CSIDL_PERSONAL 0x0005
  18. #endif
  19. #ifndef CSIDL_MYMUSIC
  20. #define CSIDL_MYMUSIC 0x000d
  21. #endif
  22. #ifndef CSIDL_APPDATA
  23. #define CSIDL_APPDATA 0x001A
  24. #endif
  25. #ifndef CSIDL_LOCAL_APPDATA
  26. #define CSIDL_LOCAL_APPDATA 0x001C
  27. #define CSIDL_INTERNET_CACHE 0x0020
  28. #define CSIDL_COOKIES 0x0021
  29. #define CSIDL_HISTORY 0x0022
  30. #define CSIDL_COMMON_APPDATA 0x0023
  31. #define CSIDL_WINDOWS 0x0024
  32. #define CSIDL_SYSTEM 0x0025
  33. #define CSIDL_PROGRAM_FILES 0x0026
  34. #define CSIDL_MYPICTURES 0x0027
  35. #define CSIDL_PROGRAM_FILES_COMMON 0x002b
  36. #define CSIDL_COMMON_DOCUMENTS 0x002e
  37. #define CSIDL_RESOURCES 0x0038
  38. #define CSIDL_RESOURCES_LOCALIZED 0x0039
  39. #define CSIDL_FLAG_CREATE 0x8000
  40. #define CSIDL_COMMON_ADMINTOOLS 0x002f
  41. #define CSIDL_ADMINTOOLS 0x0030
  42. #endif
  43. #define SHGetFolderPath __MINGW_NAME_AW(SHGetFolderPath)
  44. #define PFNSHGETFOLDERPATH __MINGW_NAME_AW(PFNSHGETFOLDERPATH)
  45. SHFOLDERAPI SHGetFolderPathA(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPSTR pszPath);
  46. SHFOLDERAPI SHGetFolderPathW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath);
  47. typedef HRESULT (__stdcall *PFNSHGETFOLDERPATHA)(HWND,int,HANDLE,DWORD,LPSTR);
  48. typedef HRESULT (__stdcall *PFNSHGETFOLDERPATHW)(HWND,int,HANDLE,DWORD,LPWSTR);
  49. #endif