ILLoadFromString and SHGetSettings implemented.
diff --git a/include/shlobj.h b/include/shlobj.h
index e4a963b..0f4c870 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -372,29 +372,6 @@
DWORD viewmode; /* NF_* enum */
} SHELLVIEWDATA, * LPSHELLVIEWDATA;
-/*
- The shell keeps track of some per-user state to handle display
- options that is of majorinterest to ISVs.
- The key one requested right now is "DoubleClickInWebView".
-*/
-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;
- UINT fRestFlags : 3;
-} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
-
-
DWORD WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
/****************************************************************************
@@ -432,8 +409,49 @@
#define ABM_SETAUTOHIDEBAR 0x00000008
#define ABM_WINDOWPOSCHANGED 0x00000009
-#define ABS_AUTOHIDE 0x00000001
-#define ABS_ALWAYSONTOP 0x00000002
+/**********************************************************************
+ * SHGetSettings ()
+ */
+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;
+ UINT fRestFlags : 3;
+} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
+
+void WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
+
+#define SSF_SHOWALLOBJECTS 0x0001
+#define SSF_SHOWEXTENSIONS 0x0002
+#define SSF_SHOWCOMPCOLOR 0x0008
+#define SSF_SHOWSYSFILES 0x0020
+#define SSF_DOUBLECLICKINWEBVIEW 0x0080
+#define SSF_SHOWATTRIBCOL 0x0100
+#define SSF_DESKTOPHTML 0x0200
+#define SSF_WIN95CLASSIC 0x0400
+#define SSF_DONTPRETTYPATH 0x0800
+#define SSF_SHOWINFOTIP 0x2000
+#define SSF_MAPNETDRVBUTTON 0x1000
+#define SSF_NOCONFIRMRECYCLE 0x8000
+#define SSF_HIDEICONS 0x4000
+#define ABS_AUTOHIDE 0x00000001
+#define ABS_ALWAYSONTOP 0x00000002
+
+/**********************************************************************/
+
#undef PURE
#undef FAR
#undef THIS
diff --git a/relay32/shell32.spec b/relay32/shell32.spec
index cc995d2..87b40a0 100644
--- a/relay32/shell32.spec
+++ b/relay32/shell32.spec
@@ -31,7 +31,7 @@
23 stdcall ILIsParent (long long long) ILIsParent
24 stdcall ILFindChild (long long) ILFindChild
25 stdcall ILCombine(ptr ptr) ILCombine
- 26 stub ILLoadFromStream@8
+ 26 stdcall ILLoadFromStream (long long) ILLoadFromStream
27 stub ILSaveToStream@8
28 stdcall SHILCreateFromPath (long long long) SHILCreateFromPathAW
29 stdcall PathIsRoot(ptr) PathIsRootAW
@@ -73,7 +73,7 @@
65 stub InvalidateDriveType
66 stub IsNetDrive
67 stdcall Shell_MergeMenus (long long long long long long) Shell_MergeMenus
- 68 stdcall SHGetSettings(long long long) SHGetSettings
+ 68 stdcall SHGetSettings(long long) SHGetSettings
69 stub SHGetNetResource
70 stub SHCreateDefClassObject
71 stdcall Shell_GetImageList(ptr ptr) Shell_GetImageList