SHGetSetSettings has now the right signature and the expected behavior
when the user is asking to get the current settings.

diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 77b73bf..deed19b 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -59,7 +59,7 @@
   65 stub InvalidateDriveType
   66 stdcall IsNetDrive(long) IsNetDrive
   67 stdcall Shell_MergeMenus (long long long long long long) Shell_MergeMenus
-  68 stdcall SHGetSetSettings(long long long) SHGetSetSettings
+  68 stdcall SHGetSetSettings(ptr long long) SHGetSetSettings
   69 stub SHGetNetResource
   70 stdcall SHCreateDefClassObject(long long long long long)SHCreateDefClassObject
   71 stdcall Shell_GetImageList(ptr ptr) Shell_GetImageList
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index 346cef1..f87ac56 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -174,9 +174,16 @@
 /*************************************************************************
  * SHGetSetSettings				[SHELL32.68]
  */
-VOID WINAPI SHGetSetSettings(DWORD x, DWORD y, DWORD z)
+VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)
 {
-	FIXME("0x%08lx 0x%08lx 0x%08lx\n", x, y, z);
+  if(bSet)
+  {
+    FIXME("%p 0x%08lx TRUE\n", lpss, dwMask);
+  }
+  else
+  {
+    SHGetSettings((LPSHELLFLAGSTATE)lpss,dwMask);
+  }
 }
 
 /*************************************************************************
diff --git a/include/shlobj.h b/include/shlobj.h
index 62f4054..b63241a 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -380,6 +380,43 @@
 DWORD WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
 
 /**********************************************************************
+ * SHGetSetSettings ()
+ */
+
+typedef struct
+{
+    BOOL fShowAllObjects : 1;
+    BOOL fShowExtensions : 1;
+    BOOL fNoConfirmRecycle : 1;
+
+    BOOL fShowSysFiles : 1;
+    BOOL fShowCompColor : 1;
+    BOOL fDoubleClickInWebView : 1;
+    BOOL fDesktopHTML : 1;
+    BOOL fWin95Classic : 1;
+    BOOL fDontPrettyPath : 1;
+    BOOL fShowAttribCol : 1;
+    BOOL fMapNetDrvBtn : 1;
+    BOOL fShowInfoTip : 1;
+    BOOL fHideIcons : 1;
+    BOOL fWebView : 1;
+    BOOL fFilter : 1;
+    BOOL fShowSuperHidden : 1;
+    BOOL fNoNetCrawling : 1;
+
+    DWORD dwWin95Unused;
+    UINT  uWin95Unused;
+    LONG   lParamSort;
+    int    iSortDirection;
+    UINT   version;
+    UINT uNotUsed;
+    BOOL fSepProcess: 1;
+    BOOL fStartPanelOn: 1;
+    BOOL fShowStartPage: 1;
+    UINT fSpareFlags : 13;
+} SHELLSTATE, *LPSHELLSTATE;
+
+/**********************************************************************
  * SHGetSettings ()
  */
 typedef struct