Changelog - dlls/shell32/shellpath.c Change parameter in SHGetSpecialFolderPathA/W to int as documented in MSDN - include/shlobj.h Add some more definitions and move SHGetDesktopFolder() from wine/obj_shellfolder.h to here - include/wine/obj_shellfolder.h move SHGetDesktopFolder() to shlobj.h License: X11/LGPL Forgot a file in the previous patch Rolf Kalbermatter Index: dlls/shell32/shellpath.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/shellpath.c,v retrieving revision 1.69 diff -u -r1.69 shellpath.c --- dlls/shell32/shellpath.c 20 Aug 2003 18:22:31 -0000 1.69 +++ dlls/shell32/shellpath.c 5 Sep 2003 18:19:46 -0000 @@ -1011,7 +1011,7 @@ BOOL WINAPI SHGetSpecialFolderPathA ( HWND hwndOwner, LPSTR szPath, - DWORD csidl, + int csidl, BOOL bCreate) { CHAR szValueName[MAX_PATH], szDefaultPath[MAX_PATH], szBuildPath[MAX_PATH]; @@ -1021,7 +1021,7 @@ DWORD folder = csidl & CSIDL_FOLDER_MASK; CHAR *p; - TRACE("%p,%p,csidl=%lu,0x%04x\n", hwndOwner,szPath,csidl,bCreate); + TRACE("%p,%p,csidl=%d,0x%04x\n", hwndOwner,szPath,csidl,bCreate); if ((folder >= sizeof(CSIDL_Data) / sizeof(CSIDL_Data[0])) || (CSIDL_Data[folder].hRootKey == 0)) @@ -1160,7 +1160,7 @@ BOOL WINAPI SHGetSpecialFolderPathW ( HWND hwndOwner, LPWSTR szPath, - DWORD csidl, + int csidl, BOOL bCreate) { char szTemp[MAX_PATH]; @@ -1171,7 +1171,7 @@ szPath[MAX_PATH-1] = 0; } - TRACE("%p,%p,csidl=%lu,0x%04x\n", hwndOwner,szPath,csidl,bCreate); + TRACE("%p,%p,csidl=%d,0x%04x\n", hwndOwner,szPath,csidl,bCreate); return TRUE; } @@ -1182,7 +1182,7 @@ BOOL WINAPI SHGetSpecialFolderPathAW ( HWND hwndOwner, LPVOID szPath, - DWORD csidl, + int csidl, BOOL bCreate) { Index: include/shlobj.h =================================================================== RCS file: /home/wine/wine/include/shlobj.h,v retrieving revision 1.71 diff -u -r1.71 shlobj.h --- include/shlobj.h 4 Sep 2003 19:43:39 -0000 1.71 +++ include/shlobj.h 5 Sep 2003 16:00:09 -0000 @@ -323,6 +323,7 @@ #define BIF_RETURNFSANCESTORS 0x0008 #define BIF_EDITBOX 0x0010 #define BIF_VALIDATE 0x0020 +#define BIF_NEWDIALOGSTYLE 0x0040 #define BIF_BROWSEFORCOMPUTER 0x1000 #define BIF_BROWSEFORPRINTER 0x2000 @@ -374,6 +375,9 @@ #define SHDID_NET_SHARE 15 #define SHDID_NET_RESTOFNET 16 #define SHDID_NET_OTHER 17 +#define SHDID_COMPUTER_IMAGING 18 +#define SHDID_COMPUTER_AUDIO 19 +#define SHDID_COMPUTER_SHAREDDOCS 20 typedef struct _SHDESCRIPTIONID { DWORD dwDescriptionId; @@ -384,12 +388,10 @@ HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb); #define SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList) -BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner,LPSTR szPath,DWORD csidl,BOOL bCreate); -BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner,LPWSTR szPath,DWORD csidl,BOOL bCreate); +BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate); +BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate); #define SHGetSpecialFolderPath WINELIB_NAME_AW(SHGetSpecialFolderPath) -HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST * ppidl); - /**************************************************************************** * shlview structures */ @@ -558,7 +560,8 @@ /**************************************************************************** * SHGetSpecialFolderLocation API */ -HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *); +HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, int nFolder, LPITEMIDLIST * ppidl); +HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl); #define CSIDL_DESKTOP 0x0000 #define CSIDL_INTERNET 0x0001 @@ -625,6 +628,11 @@ #define CSIDL_FLAG_CREATE 0x8000 #define CSIDL_FLAG_MASK 0xff00 + +/**************************************************************************** + * SHGetDesktopFolder API + */ +DWORD WINAPI SHGetDesktopFolder(IShellFolder * *); /**************************************************************************** * SHBindToParent API Index: include/wine/obj_shellfolder.h =================================================================== RCS file: /home/wine/wine/include/wine/obj_shellfolder.h,v retrieving revision 1.22 diff -u -r1.22 obj_shellfolder.h --- include/wine/obj_shellfolder.h 4 Sep 2003 19:43:39 -0000 1.22 +++ include/wine/obj_shellfolder.h 5 Sep 2003 16:10:01 -0000 @@ -33,15 +33,6 @@ DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87, 0xa5, 0x0, 0xc0, 0x4f, 0x68, 0x37, 0xcf); typedef struct IPersistFolder3 IPersistFolder3, *LPPERSISTFOLDER3; - -/************************************************************************ - * Desktopfolder - */ - -extern IShellFolder * pdesktopfolder; - -DWORD WINAPI SHGetDesktopFolder(IShellFolder * *); - /* GetDetailsEx */ #define PID_FINDDATA 0 #define PID_NETRESOURCE 1