mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 10:01:43 +00:00
[SHELL32][EXPLORER][SHLWAPI][SDK] Implement SHGetSetSettings (#6982)
These settings are cached per-process (and invalidated by the global counter). This should reduce the number of registry reads performed by DefView and CFSFolder.
This commit is contained in:
parent
80c170d7bc
commit
71a3be2497
11 changed files with 332 additions and 136 deletions
|
@ -1563,10 +1563,14 @@ typedef struct
|
|||
int iSortDirection;
|
||||
UINT version;
|
||||
UINT uNotUsed;
|
||||
BOOL fSepProcess: 1;
|
||||
BOOL fStartPanelOn: 1;
|
||||
BOOL fShowStartPage: 1;
|
||||
UINT fSpareFlags : 13;
|
||||
BOOL fSepProcess : 1;
|
||||
BOOL fStartPanelOn : 1;
|
||||
BOOL fShowStartPage : 1;
|
||||
BOOL fAutoCheckSelect : 1; // Vista+
|
||||
BOOL fIconsOnly : 1;
|
||||
BOOL fShowTypeOverlay : 1;
|
||||
BOOL fShowStatusBar : 1; // 8+
|
||||
UINT fSpareFlags : 9;
|
||||
UINT :15; /* Required for proper binary layout with gcc */
|
||||
} SHELLSTATE, *LPSHELLSTATE;
|
||||
|
||||
|
@ -1580,51 +1584,53 @@ typedef struct
|
|||
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;
|
||||
BOOL fAutoCheckSelect : 1;
|
||||
BOOL fIconsOnly : 1;
|
||||
UINT fRestFlags : 1;
|
||||
UINT :15; /* Required for proper binary layout with gcc */
|
||||
} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
|
||||
|
||||
VOID WINAPI SHGetSettings(_Out_ 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 SSF_SHOWSUPERHIDDEN 0x00040000
|
||||
#define SSF_SEPPROCESS 0x00080000
|
||||
#define SSF_SHOWALLOBJECTS 0x00000001
|
||||
#define SSF_SHOWEXTENSIONS 0x00000002
|
||||
#define SSF_SHOWCOMPCOLOR 0x00000008
|
||||
#define SSF_SORTCOLUMNS 0x00000010
|
||||
#define SSF_SHOWSYSFILES 0x00000020
|
||||
#define SSF_DOUBLECLICKINWEBVIEW 0x00000080
|
||||
#define SSF_SHOWATTRIBCOL 0x00000100
|
||||
#define SSF_DESKTOPHTML 0x00000200
|
||||
#define SSF_WIN95CLASSIC 0x00000400
|
||||
#define SSF_DONTPRETTYPATH 0x00000800
|
||||
#define SSF_MAPNETDRVBUTTON 0x00001000
|
||||
#define SSF_SHOWINFOTIP 0x00002000
|
||||
#define SSF_HIDEICONS 0x00004000
|
||||
#define SSF_NOCONFIRMRECYCLE 0x00008000
|
||||
#define SSF_FILTER 0x00010000
|
||||
#define SSF_WEBVIEW 0x00020000
|
||||
#define SSF_SHOWSUPERHIDDEN 0x00040000
|
||||
#define SSF_SEPPROCESS 0x00080000
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#define SSF_NONETCRAWLING 0x00100000
|
||||
#define SSF_STARTPANELON 0x00200000
|
||||
#define SSF_SHOWSTARTPAGE 0x00400000
|
||||
#define SSF_NONETCRAWLING 0x00100000
|
||||
#define SSF_STARTPANELON 0x00200000
|
||||
#define SSF_SHOWSTARTPAGE 0x00400000
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
#define SSF_AUTOCHECKSELECT 0x00800000
|
||||
#define SSF_ICONSONLY 0x01000000
|
||||
#define SSF_SHOWTYPEOVERLAY 0x02000000
|
||||
#define SSF_AUTOCHECKSELECT 0x00800000
|
||||
#define SSF_ICONSONLY 0x01000000
|
||||
#define SSF_SHOWTYPEOVERLAY 0x02000000
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
#define SSF_SHOWSTATUSBAR 0x04000000
|
||||
#define SSF_SHOWSTATUSBAR 0x04000000
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue