From 7ffcb0ea9892ab54c7bf7c6c855ea3c2b95aa7ad Mon Sep 17 00:00:00 2001 From: Rolf Kalbermatter Date: Mon, 8 Sep 2003 18:47:10 +0000 Subject: [PATCH] Change parameter in SHGetSpecialFolderPathA/W to int as documented in MSDN. Add some more definitions and move SHGetDesktopFolder() from wine/obj_shellfolder.h to here. --- dlls/shell32/shellpath.c | 10 +++++----- include/shlobj.h | 18 +++++++++++++----- include/wine/obj_shellfolder.h | 9 --------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c index fa3b276334f..3f5c4835350 100644 --- a/dlls/shell32/shellpath.c +++ b/dlls/shell32/shellpath.c @@ -1014,7 +1014,7 @@ static const CSIDL_DATA CSIDL_Data[] = BOOL WINAPI SHGetSpecialFolderPathA ( HWND hwndOwner, LPSTR szPath, - DWORD csidl, + int csidl, BOOL bCreate) { CHAR szValueName[MAX_PATH], szDefaultPath[MAX_PATH], szBuildPath[MAX_PATH]; @@ -1024,7 +1024,7 @@ BOOL WINAPI SHGetSpecialFolderPathA ( 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)) @@ -1163,7 +1163,7 @@ BOOL WINAPI SHGetSpecialFolderPathA ( BOOL WINAPI SHGetSpecialFolderPathW ( HWND hwndOwner, LPWSTR szPath, - DWORD csidl, + int csidl, BOOL bCreate) { char szTemp[MAX_PATH]; @@ -1174,7 +1174,7 @@ BOOL WINAPI SHGetSpecialFolderPathW ( 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; } @@ -1185,7 +1185,7 @@ BOOL WINAPI SHGetSpecialFolderPathW ( BOOL WINAPI SHGetSpecialFolderPathAW ( HWND hwndOwner, LPVOID szPath, - DWORD csidl, + int csidl, BOOL bCreate) { diff --git a/include/shlobj.h b/include/shlobj.h index ddf5c2b4677..622359b4214 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -320,6 +320,7 @@ typedef struct tagBROWSEINFOW { #define BIF_RETURNFSANCESTORS 0x0008 #define BIF_EDITBOX 0x0010 #define BIF_VALIDATE 0x0020 +#define BIF_NEWDIALOGSTYLE 0x0040 #define BIF_BROWSEFORCOMPUTER 0x1000 #define BIF_BROWSEFORPRINTER 0x2000 @@ -371,6 +372,9 @@ LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi); #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; @@ -381,12 +385,10 @@ HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int n 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 */ @@ -555,7 +557,8 @@ DWORD WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES); /**************************************************************************** * 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 @@ -623,6 +626,11 @@ HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *); #define CSIDL_FLAG_MASK 0xff00 +/**************************************************************************** + * SHGetDesktopFolder API + */ +DWORD WINAPI SHGetDesktopFolder(IShellFolder * *); + /**************************************************************************** * SHBindToParent API */ diff --git a/include/wine/obj_shellfolder.h b/include/wine/obj_shellfolder.h index 9ef8c748448..15fe09af0cc 100644 --- a/include/wine/obj_shellfolder.h +++ b/include/wine/obj_shellfolder.h @@ -33,15 +33,6 @@ extern "C" { 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