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.
diff --git a/include/shlobj.h b/include/shlobj.h index ddf5c2b..622359b 100644 --- a/include/shlobj.h +++ b/include/shlobj.h
@@ -320,6 +320,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 @@ -371,6 +372,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; @@ -381,12 +385,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 */ @@ -555,7 +557,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 @@ -624,6 +627,11 @@ #define CSIDL_FLAG_MASK 0xff00 /**************************************************************************** + * SHGetDesktopFolder API + */ +DWORD WINAPI SHGetDesktopFolder(IShellFolder * *); + +/**************************************************************************** * SHBindToParent API */ HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);