Louis Lenders : shell32: Update specs for SHGetSetFolderCustomSettings to behaviour above win2003.

Alexandre Julliard julliard at winehq.org
Mon Apr 16 15:26:25 CDT 2018


Module: wine
Branch: master
Commit: 62a84f6a3cf15d19d42a9c56e47b336323e53fd4
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=62a84f6a3cf15d19d42a9c56e47b336323e53fd4

Author: Louis Lenders <xerox.xerox2000x at gmail.com>
Date:   Wed Apr 11 22:09:01 2018 +0200

shell32: Update specs for SHGetSetFolderCustomSettings to behaviour above win2003.

Signed-off-by: Louis Lenders <xerox.xerox2000x at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 91e4f6b..837abd3 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 f4df6f5..9143f1e 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 7cdb4f8..9d6dcdd 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




More information about the wine-cvs mailing list