aboutsummaryrefslogtreecommitdiff
path: root/winsup/w32api/include
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include')
-rw-r--r--winsup/w32api/include/shlobj.h32
1 files changed, 25 insertions, 7 deletions
diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h
index 483d2c7..b0aaa3a 100644
--- a/winsup/w32api/include/shlobj.h
+++ b/winsup/w32api/include/shlobj.h
@@ -740,11 +740,20 @@ BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*);
HRESULT WINAPI SHLoadInProc(REFCLSID);
-/* FIXME/TODO: Only valid for _WIN32_IE >= 400? */
+#if (_WIN32_IE >= 0x0400)
BOOL WINAPI SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL);
-BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPSTR,int,BOOL);
-BOOL WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPTSTR);
-BOOL WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPTSTR);
+BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL);
+#endif
+/* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */
+BOOL WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR);
+BOOL WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR);
+#if (_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500) /* ME or W2K */
+HRESULT WINAPI SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*);
+#endif
+#if (_WIN32_WINNT >= 0x0501) /* XP */
+HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
+HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
+#endif
#ifdef UNICODE
typedef IShellExecuteHookW IShellExecuteHook;
@@ -753,9 +762,14 @@ typedef BROWSEINFOW BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
#define SHBrowseForFolder SHBrowseForFolderW
#define SHGetDataFromIDList SHGetDataFromIDListW
#define SHGetPathFromIDList SHGetPathFromIDListW
-/* FIXME/TODO: Only valid for _WIN32_IE >= 400? */
+#if (_WIN32_IE >= 0x0400)
#define SHGetSpecialFolderPath SHGetSpecialFolderPathW
-#define SHGetFolderPath SHGetFolderPathW
+#endif
+#define SHGetFolderPath SHGetFolderPathW
+#if (_WIN32_WINNT >= 0x0501)
+#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW
+#endif
+
#else
typedef IShellExecuteHookA IShellExecuteHook;
typedef IShellLinkA IShellLink;
@@ -763,10 +777,14 @@ typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
#define SHBrowseForFolder SHBrowseForFolderA
#define SHGetDataFromIDList SHGetDataFromIDListA
#define SHGetPathFromIDList SHGetPathFromIDListA
-/* FIXME/TODO: Only valid for _WIN32_IE >= 400? */
+#if (_WIN32_IE >= 0x0400)
#define SHGetSpecialFolderPath SHGetSpecialFolderPathA
+#endif
#define SHGetFolderPath SHGetFolderPathA
+#if (_WIN32_WINNT >= 0x0501)
+#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA
#endif
+#endif /* UNICODE */
#pragma pack(pop)
#ifdef __cplusplus