aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2002-09-17 03:08:11 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2002-09-17 03:08:11 +0000
commitcbb704cf60ce9b25918b4481e72aef1b0fc12356 (patch)
tree2f66b680b174c4cbc31a76ac5a0f0012f6a76d06
parent9211a1adeca1e408048bcbfe935079ff69b3fe63 (diff)
downloadnewlib-cbb704cf60ce9b25918b4481e72aef1b0fc12356.zip
newlib-cbb704cf60ce9b25918b4481e72aef1b0fc12356.tar.gz
newlib-cbb704cf60ce9b25918b4481e72aef1b0fc12356.tar.bz2
* include/shlobj.h (SHGetSpecialFolderPath[AW]): Add _WIN32_IE guard.
Correct prototype for wide version. (SHGetFolderPath): Add comment on shfolder.dll library. (SHGetFolderLocation): Add prototyope for WinME and W2K. (SHGetFolderPathAndSubDir[AW]): Add prototypes for XP.
-rw-r--r--winsup/w32api/ChangeLog8
-rw-r--r--winsup/w32api/include/shlobj.h32
2 files changed, 33 insertions, 7 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 5fbd60c..99a31a6 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,11 @@
+2002-09-17 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * include/shlobj.h (SHGetSpecialFolderPath[AW]):
+ Add _WIN32_IE guard. Correct prototype for wide version.
+ (SHGetFolderPath): Add comment on shfolder.dll.
+ (SHGetFolderLocation): Add prototyope for WinME and W2K.
+ (SHGetFolderPathAndSubDir[AW]): Add prototypes for XP.
+
2002-09-16 Danny Smith <dannysmith@users.sourceforge.net>
* lib/shell32.def (SHGetFolderPath[AW]): Add comment.
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