From 62a84f6a3cf15d19d42a9c56e47b336323e53fd4 Mon Sep 17 00:00:00 2001 From: Louis Lenders Date: Wed, 11 Apr 2018 22:09:01 +0200 Subject: [PATCH] shell32: Update specs for SHGetSetFolderCustomSettings to behaviour above win2003. Signed-off-by: Louis Lenders Signed-off-by: Alexandre Julliard --- dlls/shell32/shell32.spec | 2 +- dlls/shell32/shlfolder.c | 6 +++--- include/shlobj.h | 17 ++++++++++++++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec index 91e4f6bd851..837abd3fec0 100644 --- a/dlls/shell32/shell32.spec +++ b/dlls/shell32/shell32.spec @@ -259,7 +259,7 @@ 701 stdcall CDefFolderMenu_Create2(ptr ptr long ptr ptr ptr long ptr ptr) 704 stdcall -noname GUIDFromStringW(wstr ptr) - 709 stdcall SHGetSetFolderCustomSettings(ptr str long) + 709 stdcall SHGetSetFolderCustomSettings(ptr wstr long) 714 stdcall @(ptr) SHELL32_714 # PathIsTemporaryW 723 stdcall -noname SHCreateSessionKey(long ptr) 727 stdcall SHGetImageList(long ptr ptr) diff --git a/dlls/shell32/shlfolder.c b/dlls/shell32/shlfolder.c index f4df6f56eda..9143f1ea4fe 100644 --- a/dlls/shell32/shlfolder.c +++ b/dlls/shell32/shlfolder.c @@ -607,11 +607,11 @@ HRESULT WINAPI SHOpenFolderAndSelectItems( PCIDLIST_ABSOLUTE pidlFolder, UINT ci /*********************************************************************** * SHGetSetFolderCustomSettings * - * Only in XP (up to SP2) and Server 2003 + * Only Unicode above Server 2003 */ -HRESULT WINAPI SHGetSetFolderCustomSettings( LPSHFOLDERCUSTOMSETTINGS fcs, LPCSTR path, DWORD flag ) +HRESULT WINAPI SHGetSetFolderCustomSettings( LPSHFOLDERCUSTOMSETTINGS fcs, PCWSTR path, DWORD flag ) { - FIXME("%p %s 0x%x: stub\n", fcs, path, flag); + FIXME("%p %s 0x%x: stub\n", fcs, debugstr_w(path), flag); return E_NOTIMPL; } diff --git a/include/shlobj.h b/include/shlobj.h index 7cdb4f873d3..9d6dcdde8d5 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -1475,6 +1475,21 @@ int WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES); /**************************************************************************** * SHGetSetFolderCustomSettings API */ + +#define FCS_READ 0x00000001 +#define FCS_FORCEWRITE 0x00000002 +#define FCS_WRITE (FCS_READ | FCS_FORCEWRITE) + +#define FCS_FLAG_DRAGDROP 0x00000002 + +#define FCSM_VIEWID 0x00000001 +#define FCSM_WEBVIEWTEMPLATE 0x00000002 +#define FCSM_INFOTIP 0x00000004 +#define FCSM_CLSID 0x00000008 +#define FCSM_ICONFILE 0x00000010 +#define FCSM_LOGO 0x00000020 +#define FCSM_FLAGS 0x00000040 + typedef struct { DWORD dwSize; DWORD dwMask; @@ -1493,7 +1508,7 @@ typedef struct { DWORD cchLogo; } SHFOLDERCUSTOMSETTINGS, *LPSHFOLDERCUSTOMSETTINGS; -HRESULT WINAPI SHGetSetFolderCustomSettings(LPSHFOLDERCUSTOMSETTINGS pfcs, LPCSTR pszPath, DWORD dwReadWrite); +HRESULT WINAPI SHGetSetFolderCustomSettings(LPSHFOLDERCUSTOMSETTINGS pfcs, PCWSTR pszPath, DWORD dwReadWrite); /**************************************************************************** * SHGetSpecialFolderLocation API