From cbb704cf60ce9b25918b4481e72aef1b0fc12356 Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Tue, 17 Sep 2002 03:08:11 +0000 Subject: * 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. --- winsup/w32api/ChangeLog | 8 ++++++++ winsup/w32api/include/shlobj.h | 32 +++++++++++++++++++++++++------- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 5fbd60cdd..99a31a6bd 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,11 @@ +2002-09-17 Danny Smith + + * 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 * lib/shell32.def (SHGetFolderPath[AW]): Add comment. diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 483d2c73a..b0aaa3a58 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 -- cgit v1.2.3