OSDN Git Service

* include/shlobj.h (SHGetSpecialFolderPath[AW]): Add _WIN32_IE guard.
authordannysmith <dannysmith>
Tue, 17 Sep 2002 03:08:11 +0000 (03:08 +0000)
committerdannysmith <dannysmith>
Tue, 17 Sep 2002 03:08:11 +0000 (03:08 +0000)
  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
winsup/w32api/include/shlobj.h

index 5fbd60c..99a31a6 100644 (file)
@@ -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.
index 483d2c7..b0aaa3a 100644 (file)
@@ -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