[SHELL32:WINE] Update the table of policy restrictions (#4275)

Our shell32's wine/shpolicy.c file, synced with Wine code (and which is
currently in master still up to date with Wine!), contains outdated or
incomplete definitions that date back from Windows 98/2000.

Update the restrictions with those from shell32 v6.0 of Windows Server 2003 SP2.

References:
https://www.geoffchappell.com/studies/windows/shell/shell32/api/util/restrictions.htm
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/ne-shlobj_core-restrictions

"NoLogoff": http://systemmanager.ru/win2k_regestry.en/93519.htm
"StartMenuLogOff": http://systemmanager.ru/win2k_regestry.en/92884.htm
"GreyMSIAds": http://systemmanager.ru/win2k_regestry.en/93177.htm
This commit is contained in:
Hermès Bélusca-Maïto 2022-01-10 20:05:38 +01:00
parent ea8ce25944
commit 9513d18f93
No known key found for this signature in database
GPG Key ID: 3B2539C65E7B93D0
2 changed files with 616 additions and 38 deletions

View File

@ -2,6 +2,7 @@
* shpolicy.c - Data for shell/system policies. * shpolicy.c - Data for shell/system policies.
* *
* Copyright 1999 Ian Schmidt <ischmidt@cfl.rr.com> * Copyright 1999 Ian Schmidt <ischmidt@cfl.rr.com>
* Copyright 2022 Hermes Belusca-Maito
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -26,7 +27,10 @@
* You could easily write one with the information in * You could easily write one with the information in
* this file... * this file...
* *
* Up to date as of SHELL32 v5.00 (W2K) * Up to date as of SHELL32 v6.00 (Win2k3)
* References:
* https://www.geoffchappell.com/studies/windows/shell/shell32/api/util/restrictions.htm
* https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/ne-shlobj_core-restrictions
*/ */
#include <stdarg.h> #include <stdarg.h>
@ -60,17 +64,29 @@ typedef struct tagPOLICYDAT
static const char strExplorer[] = {"Explorer"}; static const char strExplorer[] = {"Explorer"};
static const char strActiveDesk[] = {"ActiveDesktop"}; static const char strActiveDesk[] = {"ActiveDesktop"};
static const char strWinOldApp[] = {"WinOldApp"}; static const char strWinOldApp[] = {"WinOldApp"};
#if (WINE_FILEVERSION_MAJOR < 6)
/* Windows 2000/Me SHELL32 uses "AddRemoveProgs" */
static const char strAddRemoveProgs[] = {"AddRemoveProgs"}; static const char strAddRemoveProgs[] = {"AddRemoveProgs"};
#else
static const char strAddRemoveProgs[] = {"Uninstall"};
#endif
#ifdef __REACTOS__
static const char strSystem[] = {"System"};
#endif
/* key strings */ /* key strings */
#ifndef __REACTOS__
static const char strNoFileURL[] = {"NoFileUrl"}; static const char strNoFileURL[] = {"NoFileUrl"};
#endif
static const char strNoFolderOptions[] = {"NoFolderOptions"}; static const char strNoFolderOptions[] = {"NoFolderOptions"};
static const char strNoChangeStartMenu[] = {"NoChangeStartMenu"}; static const char strNoChangeStartMenu[] = {"NoChangeStartMenu"};
static const char strNoWindowsUpdate[] = {"NoWindowsUpdate"}; static const char strNoWindowsUpdate[] = {"NoWindowsUpdate"};
static const char strNoSetActiveDesktop[] = {"NoSetActiveDesktop"}; static const char strNoSetActiveDesktop[] = {"NoSetActiveDesktop"};
static const char strNoForgetSoftwareUpdate[] = {"NoForgetSoftwareUpdate"}; static const char strNoForgetSoftwareUpdate[] = {"NoForgetSoftwareUpdate"};
//static const char strNoMSAppLogo[] = {"NoMSAppLogo5ChannelNotify"}; #if (WINE_FILEVERSION_MAJOR <= 6) && (NTDDI_VERSION < NTDDI_LONGHORN)
static const char strNoMSAppLogo[] = {"NoMSAppLogo5ChannelNotify"};
#endif
static const char strForceCopyACLW[] = {"ForceCopyACLWithFile"}; static const char strForceCopyACLW[] = {"ForceCopyACLWithFile"};
static const char strNoResolveTrk[] = {"NoResolveTrack"}; static const char strNoResolveTrk[] = {"NoResolveTrack"};
static const char strNoResolveSearch[] = {"NoResolveSearch"}; static const char strNoResolveSearch[] = {"NoResolveSearch"};
@ -93,7 +109,14 @@ static const char strNoRecentDocMenu[] = {"NoRecentDocsMenu"};
static const char strNoRecentDocHistory[] = {"NoRecentDocsHistory"}; static const char strNoRecentDocHistory[] = {"NoRecentDocsHistory"};
static const char strNoInetIcon[] = {"NoInternetIcon"}; static const char strNoInetIcon[] = {"NoInternetIcon"};
static const char strNoSettingsWizard[] = {"NoSettingsWizards"}; static const char strNoSettingsWizard[] = {"NoSettingsWizards"};
#if (WINE_FILEVERSION_MAJOR < 5)
// NOTE: This value now only controls the LogOff capability in the TaskMgr.
static const char strNoLogoff[] = {"NoLogoff"}; static const char strNoLogoff[] = {"NoLogoff"};
#else
// NOTE: This is the new value that controls the presence/absence
// of the LogOff item in the Start Menu.
static const char strNoLogoff[] = {"StartMenuLogoff"};
#endif
static const char strNoNetConDis[] = {"NoNetConnectDisconnect"}; static const char strNoNetConDis[] = {"NoNetConnectDisconnect"};
static const char strNoViewContextMenu[] = {"NoViewContextMenu"}; static const char strNoViewContextMenu[] = {"NoViewContextMenu"};
static const char strNoTrayContextMenu[] = {"NoTrayContextMenu"}; static const char strNoTrayContextMenu[] = {"NoTrayContextMenu"};
@ -101,13 +124,13 @@ static const char strNoWebMenu[] = {"NoWebMenu"};
static const char strLnkResolveIgnoreLnkInfo[] = {"LinkResolveIgnoreLinkInfo"}; static const char strLnkResolveIgnoreLnkInfo[] = {"LinkResolveIgnoreLinkInfo"};
static const char strNoCommonGroups[] = {"NoCommonGroups"}; static const char strNoCommonGroups[] = {"NoCommonGroups"};
static const char strEnforceShlExtSecurity[] = {"EnforceShellExtensionSecurity"}; static const char strEnforceShlExtSecurity[] = {"EnforceShellExtensionSecurity"};
static const char strNoRealMode[] = {"NoRealMode"}; static const char strNoRealMode[] = {"NoRealMode"}; // REGSTR_VAL_WINOLDAPP_NOREALMODE
static const char strMyDocsOnNet[] = {"MyDocsOnNet"}; static const char strMyDocsOnNet[] = {"MyDocsOnNet"};
static const char strNoStartMenuSubfolder[] = {"NoStartMenuSubFolders"}; static const char strNoStartMenuSubfolder[] = {"NoStartMenuSubFolders"};
static const char strNoAddPrinters[] = {"NoAddPrinter"}; static const char strNoAddPrinters[] = {"NoAddPrinter"}; // REGSTR_VAL_PRINTERS_NOADD
static const char strNoDeletePrinters[] = {"NoDeletePrinter"}; static const char strNoDeletePrinters[] = {"NoDeletePrinter"}; // REGSTR_VAL_PRINTERS_NODELETE
static const char strNoPrintTab[] = {"NoPrinterTabs"}; static const char strNoPrintTab[] = {"NoPrinterTabs"}; // REGSTR_VAL_PRINTERS_HIDETABS
static const char strRestrictRun[] = {"RestrictRun"}; static const char strRestrictRun[] = {"RestrictRun"}; // REGSTR_VAL_RESTRICTRUN
static const char strNoStartBanner[] = {"NoStartBanner"}; static const char strNoStartBanner[] = {"NoStartBanner"};
static const char strNoNetworkNeighborhood[] = {"NoNetHood"}; static const char strNoNetworkNeighborhood[] = {"NoNetHood"};
static const char strNoDriveTypeAtRun[] = {"NoDriveTypeAutoRun"}; static const char strNoDriveTypeAtRun[] = {"NoDriveTypeAutoRun"};
@ -122,9 +145,6 @@ static const char strNoFileMenu[] = {"NoFileMenu"};
static const char strNoSaveSetting[] = {"NoSaveSettings"}; static const char strNoSaveSetting[] = {"NoSaveSettings"};
static const char strNoClose[] = {"NoClose"}; static const char strNoClose[] = {"NoClose"};
static const char strNoRun[] = {"NoRun"}; static const char strNoRun[] = {"NoRun"};
#ifdef __REACTOS__
static const char strNoSimpleStartMenu[] = {"NoSimpleStartMenu"};
#endif
/* policy data array */ /* policy data array */
static POLICYDATA sh32_policy_table[] = static POLICYDATA sh32_policy_table[] =
@ -401,13 +421,21 @@ static POLICYDATA sh32_policy_table[] =
}, },
{ {
REST_NOCLOSE_DRAGDROPBAND, REST_NOCLOSE_DRAGDROPBAND,
#if (WINE_FILEVERSION_MAJOR < 5)
strActiveDesk, strActiveDesk,
#else
strExplorer,
#endif
strNoCloseDragDrop, strNoCloseDragDrop,
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
{ {
REST_NOMOVINGBAND, REST_NOMOVINGBAND,
#if (WINE_FILEVERSION_MAJOR < 5)
strActiveDesk, strActiveDesk,
#else
strExplorer,
#endif
strNoMovingBand, strNoMovingBand,
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
@ -435,7 +463,7 @@ static POLICYDATA sh32_policy_table[] =
strForceCopyACLW, strForceCopyACLW,
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#if (NTDDI_VERSION < NTDDI_LONGHORN) #if (WINE_FILEVERSION_MAJOR <= 6) && (NTDDI_VERSION < NTDDI_LONGHORN)
{ {
REST_NOLOGO3CHANNELNOTIFY, REST_NOLOGO3CHANNELNOTIFY,
strExplorer, strExplorer,
@ -542,7 +570,12 @@ static POLICYDATA sh32_policy_table[] =
{ {
REST_GREYMSIADS, REST_GREYMSIADS,
strExplorer, strExplorer,
#ifndef __REACTOS__
// NOTE: Wine buggy
"", "",
#else
"GreyMSIAds",
#endif
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
{ {
@ -593,12 +626,14 @@ static POLICYDATA sh32_policy_table[] =
"NoEncryption", "NoEncryption",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#if (WINE_FILEVERSION_MAJOR == 5) && (NTDDI_VERSION < NTDDI_LONGHORN)
{ {
REST_ALLOWFRENCHENCRYPTION, REST_ALLOWFRENCHENCRYPTION,
strExplorer, strExplorer,
"AllowFrenchEncryption", "AllowFrenchEncryption",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif
{ {
REST_DONTSHOWSUPERHIDDEN, REST_DONTSHOWSUPERHIDDEN,
strExplorer, strExplorer,
@ -617,6 +652,7 @@ static POLICYDATA sh32_policy_table[] =
"NoHardwareTab", "NoHardwareTab",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#if (WINE_FILEVERSION_MAJOR <= 6) && (NTDDI_VERSION < NTDDI_LONGHORN)
{ {
REST_NORUNASINSTALLPROMPT, REST_NORUNASINSTALLPROMPT,
strExplorer, strExplorer,
@ -629,18 +665,21 @@ static POLICYDATA sh32_policy_table[] =
"PromptRunasInstallNetPath", "PromptRunasInstallNetPath",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif
{ {
REST_NOMANAGEMYCOMPUTERVERB, REST_NOMANAGEMYCOMPUTERVERB,
strExplorer, strExplorer,
"NoManageMyComputerVerb", "NoManageMyComputerVerb",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#if (WINE_FILEVERSION_MAJOR <= 6) && (NTDDI_VERSION < NTDDI_LONGHORN)
{ {
REST_NORECENTDOCSNETHOOD, REST_NORECENTDOCSNETHOOD,
strExplorer, strExplorer,
"NoRecentDocsNetHood", "NoRecentDocsNetHood",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif
{ {
REST_DISALLOWRUN, REST_DISALLOWRUN,
strExplorer, strExplorer,
@ -719,12 +758,14 @@ static POLICYDATA sh32_policy_table[] =
"ForceActiveDesktopOn", "ForceActiveDesktopOn",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#if (WINE_FILEVERSION_MAJOR <= 6) && (NTDDI_VERSION < NTDDI_LONGHORN)
{ {
REST_NOCOMPUTERSNEARME, REST_NOCOMPUTERSNEARME,
strExplorer, strExplorer,
"NoComputersNearMe", "NoComputersNearMe",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif
{ {
REST_NOVIEWONDRIVE, REST_NOVIEWONDRIVE,
strExplorer, strExplorer,
@ -734,13 +775,23 @@ static POLICYDATA sh32_policy_table[] =
{ {
REST_NONETCRAWL, REST_NONETCRAWL,
strExplorer, strExplorer,
#ifndef __REACTOS__
// NOTE: Wine buggy
"NoNetCrawl", "NoNetCrawl",
#else
"NoNetCrawling",
#endif
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
{ {
REST_NOSHAREDDOCUMENTS, REST_NOSHAREDDOCUMENTS,
strExplorer, strExplorer,
#ifndef __REACTOS__
// NOTE: Wine buggy
"NoSharedDocs", "NoSharedDocs",
#else
"NoSharedDocuments",
#endif
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
{ {
@ -749,27 +800,455 @@ static POLICYDATA sh32_policy_table[] =
"NoSMMyDocs", "NoSMMyDocs",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#ifdef __REACTOS__
{
REST_NOSMMYPICS,
strExplorer,
"NoSMMyPictures",
SHELL_NO_POLICY
},
{
REST_ALLOWBITBUCKDRIVES,
strExplorer,
"RecycleBinDrives",
SHELL_NO_POLICY
},
#endif
/* 0x4000050 - 0x4000060 */ /* 0x4000050 - 0x4000060 */
#if (WINE_FILEVERSION_MAJOR >= 6)
{ {
REST_NONLEGACYSHELLMODE, REST_NONLEGACYSHELLMODE,
strExplorer, strExplorer,
"NoneLegacyShellMode", "NoneLegacyShellMode",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif
#ifdef __REACTOS__ #ifdef __REACTOS__
{
REST_NOCONTROLPANELBARRICADE,
strExplorer,
"NoControlPanelBarricade",
SHELL_NO_POLICY
},
// NOTE: REST_NOSTARTPAGE never really existed.
#if (WINE_FILEVERSION_MAJOR >= 6)
{
REST_NOAUTOTRAYNOTIFY,
strExplorer,
"NoAutoTrayNotify",
SHELL_NO_POLICY
},
{
REST_NOTASKGROUPING,
strExplorer,
"NoTaskGrouping",
SHELL_NO_POLICY
},
{
REST_NOCDBURNING,
strExplorer,
"NoCDBurning",
SHELL_NO_POLICY
},
#endif // WINE_FILEVERSION_MAJOR
{
REST_MYCOMPNOPROP,
strExplorer,
"NoPropertiesMyComputer",
SHELL_NO_POLICY
},
{
REST_MYDOCSNOPROP,
strExplorer,
"NoPropertiesMyDocuments",
SHELL_NO_POLICY
},
#if (WINE_FILEVERSION_MAJOR >= 6)
{ {
REST_NOSTARTPANEL, REST_NOSTARTPANEL,
strExplorer, strExplorer,
strNoSimpleStartMenu, "NoSimpleStartMenu",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif {
REST_NODISPLAYAPPEARANCEPAGE,
strSystem,
"NoDispAppearancePage", // REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE
SHELL_NO_POLICY
},
{
REST_NOTHEMESTAB,
strExplorer,
"NoThemesTab",
SHELL_NO_POLICY
},
{
REST_NOVISUALSTYLECHOICE,
strSystem,
"NoVisualStyleChoice",
SHELL_NO_POLICY
},
{
REST_NOSIZECHOICE,
strSystem,
"NoSizeChoice",
SHELL_NO_POLICY
},
{
REST_NOCOLORCHOICE,
strSystem,
"NoColorChoice",
SHELL_NO_POLICY
},
{
REST_SETVISUALSTYLE,
strSystem,
"SetVisualStyle",
SHELL_NO_POLICY
},
#endif // WINE_FILEVERSION_MAJOR
#endif // __REACTOS__
{ {
REST_STARTRUNNOHOMEPATH, REST_STARTRUNNOHOMEPATH,
strExplorer, strExplorer,
"StartRunNoHOMEPATH", "StartRunNoHOMEPATH",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#ifdef __REACTOS__
#if (WINE_FILEVERSION_MAJOR >= 6)
{
REST_NOUSERNAMEINSTARTPANEL,
strExplorer,
"NoUserNameInStartMenu",
SHELL_NO_POLICY
},
{
REST_NOMYCOMPUTERICON,
"NonEnum",
"{20D04FE0-3AEA-1069-A2D8-08002B30309D}",
SHELL_NO_POLICY
},
{
REST_NOSMNETWORKPLACES,
strExplorer,
"NoStartMenuNetworkPlaces",
SHELL_NO_POLICY
},
{
REST_NOSMPINNEDLIST,
strExplorer,
"NoStartMenuPinnedList",
SHELL_NO_POLICY
},
{
REST_NOSMMYMUSIC,
strExplorer,
"NoStartMenuMyMusic",
SHELL_NO_POLICY
},
{
REST_NOSMEJECTPC,
strExplorer,
"NoStartMenuEjectPC",
SHELL_NO_POLICY
},
{
REST_NOSMMOREPROGRAMS,
strExplorer,
"NoStartMenuMorePrograms",
SHELL_NO_POLICY
},
{
REST_NOSMMFUPROGRAMS,
strExplorer,
"NoStartMenuMFUprogramsList",
SHELL_NO_POLICY
},
{
REST_NOTRAYITEMSDISPLAY,
strExplorer,
"NoTrayItemsDisplay",
SHELL_NO_POLICY
},
{
REST_NOTOOLBARSONTASKBAR,
strExplorer,
"NoToolbarsOnTaskbar",
SHELL_NO_POLICY
},
#endif // WINE_FILEVERSION_MAJOR
{
REST_NOSMCONFIGUREPROGRAMS,
strExplorer,
"NoSMConfigurePrograms",
SHELL_NO_POLICY
},
#if (WINE_FILEVERSION_MAJOR >= 6)
{
REST_HIDECLOCK,
strExplorer,
"HideClock",
SHELL_NO_POLICY
},
{
REST_NOLOWDISKSPACECHECKS,
strExplorer,
"NoLowDiskSpaceChecks",
SHELL_NO_POLICY
},
#endif
#if (WINE_FILEVERSION_MAJOR <= 6) && (NTDDI_VERSION < NTDDI_LONGHORN)
{
REST_NOENTIRENETWORK,
"Network",
"NoEntireNetwork", // REGSTR_VAL_NOENTIRENETWORK
SHELL_NO_POLICY
},
{
REST_NODESKTOPCLEANUP,
strExplorer,
"NoDesktopCleanupWizard",
SHELL_NO_POLICY
},
#endif
#if (WINE_FILEVERSION_MAJOR >= 6)
{
REST_BITBUCKNUKEONDELETE,
strExplorer,
"NoRecycleFiles",
SHELL_NO_POLICY
},
{
REST_BITBUCKCONFIRMDELETE,
strExplorer,
"ConfirmFileDelete",
SHELL_NO_POLICY
},
{
REST_BITBUCKNOPROP,
strExplorer,
"NoPropertiesRecycleBin",
SHELL_NO_POLICY
},
{
REST_NODISPBACKGROUND,
strSystem,
"NoDispBackgroundPage", // REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE
SHELL_NO_POLICY
},
{
REST_NODISPSCREENSAVEPG,
strSystem,
"NoDispScrSavPage", // REGSTR_VAL_DISPCPL_NOSCRSAVPAGE
SHELL_NO_POLICY
},
{
REST_NODISPSETTINGSPG,
strSystem,
"NoDispSettingsPage", // REGSTR_VAL_DISPCPL_NOSETTINGSPAGE
SHELL_NO_POLICY
},
{
REST_NODISPSCREENSAVEPREVIEW,
strSystem,
"NoScreenSavePreview",
SHELL_NO_POLICY
},
{
REST_NODISPLAYCPL,
strSystem,
"NoDispCPL", // REGSTR_VAL_DISPCPL_NODISPCPL
SHELL_NO_POLICY
},
{
REST_HIDERUNASVERB,
strExplorer,
"HideRunAsVerb",
SHELL_NO_POLICY
},
{
REST_NOTHUMBNAILCACHE,
strExplorer,
"NoThumbnailCache",
SHELL_NO_POLICY
},
{
REST_NOSTRCMPLOGICAL,
strExplorer,
"NoStrCmpLogical",
SHELL_NO_POLICY
},
{
REST_NOPUBLISHWIZARD,
strExplorer,
"NoPublishingWizard",
SHELL_NO_POLICY
},
{
REST_NOONLINEPRINTSWIZARD,
strExplorer,
"NoOnlinePrintsWizard",
SHELL_NO_POLICY
},
{
REST_NOWEBSERVICES,
strExplorer,
"NoWebServices",
SHELL_NO_POLICY
},
#endif // WINE_FILEVERSION_MAJOR
{
REST_ALLOWUNHASHEDWEBVIEW,
strExplorer,
"AllowUnhashedWebView",
SHELL_NO_POLICY
},
#if (WINE_FILEVERSION_MAJOR >= 6)
{
REST_ALLOWLEGACYWEBVIEW,
strExplorer,
"AllowLegacyWebView",
SHELL_NO_POLICY
},
#endif
{
REST_REVERTWEBVIEWSECURITY,
strExplorer,
"RevertWebViewSecurity",
SHELL_NO_POLICY
},
{
REST_INHERITCONSOLEHANDLES,
strExplorer,
"InheritConsoleHandles",
SHELL_NO_POLICY
},
#if (WINE_FILEVERSION_MAJOR >= 6)
#if (NTDDI_VERSION < NTDDI_LONGHORN)
{
REST_SORTMAXITEMCOUNT,
strExplorer,
"SortMaxItemCount",
SHELL_NO_POLICY
},
#endif
{
REST_NOREMOTERECURSIVEEVENTS,
strExplorer,
"NoRemoteRecursiveEvents",
SHELL_NO_POLICY
},
#endif // WINE_FILEVERSION_MAJOR
{
REST_NOREMOTECHANGENOTIFY,
strExplorer,
"NoRemoteChangeNotify",
SHELL_NO_POLICY
},
#if (WINE_FILEVERSION_MAJOR >= 6)
#if (NTDDI_VERSION < NTDDI_LONGHORN)
{
REST_NOSIMPLENETIDLIST,
strExplorer,
"NoSimpleNetIDList",
SHELL_NO_POLICY
},
#endif
// #if (NTDDI_VERSION < NTDDI_LONGHORN)
// NOTE: Geoff Chappell is inacurrate here.
{
REST_NOENUMENTIRENETWORK,
strExplorer,
"NoEnumEntireNetwork",
SHELL_NO_POLICY
},
// #endif
#if (NTDDI_VERSION < NTDDI_LONGHORN)
{
REST_NODETAILSTHUMBNAILONNETWORK,
strExplorer,
"NoDetailsThumbnailOnNetwork",
SHELL_NO_POLICY
},
#endif
{
REST_NOINTERNETOPENWITH,
strExplorer,
"NoInternetOpenWith",
SHELL_NO_POLICY
},
#if (NTDDI_VERSION < NTDDI_LONGHORN)
{
REST_ALLOWLEGACYLMZBEHAVIOR,
strExplorer,
"AllowLegacyLMZBehavior",
SHELL_NO_POLICY
},
#endif
{
REST_DONTRETRYBADNETNAME,
strExplorer,
"DontRetryBadNetName",
SHELL_NO_POLICY
},
{
REST_ALLOWFILECLSIDJUNCTIONS,
strExplorer,
"AllowFileCLSIDJunctions",
SHELL_NO_POLICY
},
{
REST_NOUPNPINSTALL,
strExplorer,
"NoUPnPInstallTask",
SHELL_NO_POLICY
},
// "NormalizeLinkNetPidls" only in version 6.0 from Windows XP SP3.
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
{
REST_ARP_DONTGROUPPATCHES,
strAddRemoveProgs,
"DontGroupPatches",
SHELL_NO_POLICY
},
{
REST_ARP_NOCHOOSEPROGRAMSPAGE,
strAddRemoveProgs,
"NoChooseProgramsPage",
SHELL_NO_POLICY
},
#endif
// "AllowCLSIDPROGIDMapping" in Windows XP SP3 and Windows Server 2003 SP2 only.
// Maybe in Vista+ too?
#endif // WINE_FILEVERSION_MAJOR
#endif // __REACTOS__
/* 0x4000061 - 0x4000086 */ /* 0x4000061 - 0x4000086 */
{ {
REST_NODISCONNECT, REST_NODISCONNECT,
@ -789,12 +1268,44 @@ static POLICYDATA sh32_policy_table[] =
"NoFileAssociate", "NoFileAssociate",
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#ifdef __REACTOS__
#if (WINE_FILEVERSION_MAJOR >= 6)
// #if (NTDDI_VERSION < NTDDI_LONGHORN)
// NOTE: Either Geoff Chappell or MSDN is inacurrate here.
{
REST_ALLOWCOMMENTTOGGLE,
strExplorer,
"ToggleCommentPosition",
SHELL_NO_POLICY
},
// #endif
#if (NTDDI_VERSION < NTDDI_LONGHORN)
{
REST_USEDESKTOPINICACHE,
strExplorer,
"UseDesktopIniCache",
SHELL_NO_POLICY
},
#endif
// "NoNetFolderInfoTip" only in version 6.0 from Windows XP SP3.
#endif // WINE_FILEVERSION_MAJOR
#endif // __REACTOS__
#ifndef __REACTOS__
// NOTE: This is a SHDOCVW-only policy.
{ {
0x50000024, 0x50000024,
strExplorer, strExplorer,
strNoFileURL, strNoFileURL,
SHELL_NO_POLICY SHELL_NO_POLICY
}, },
#endif
{ {
0, 0,
0, 0,

View File

@ -1677,7 +1677,7 @@ typedef enum RESTRICTIONS
REST_NORESOLVESEARCH, REST_NORESOLVESEARCH,
REST_NORESOLVETRACK, REST_NORESOLVETRACK,
REST_FORCECOPYACLWITHFILE, REST_FORCECOPYACLWITHFILE,
#if (NTDDI_VERSION < NTDDI_LONGHORN) #if (NTDDI_VERSION < NTDDI_VISTA)
REST_NOLOGO3CHANNELNOTIFY = 0x4000001C, REST_NOLOGO3CHANNELNOTIFY = 0x4000001C,
#endif #endif
REST_NOFORGETSOFTWAREUPDATE = 0x4000001D, REST_NOFORGETSOFTWAREUPDATE = 0x4000001D,
@ -1705,17 +1705,19 @@ typedef enum RESTRICTIONS
REST_NOWEBVIEW, REST_NOWEBVIEW,
REST_NOCUSTOMIZETHISFOLDER, REST_NOCUSTOMIZETHISFOLDER,
REST_NOENCRYPTION, REST_NOENCRYPTION,
#if (NTDDI_VERSION < NTDDI_VISTA)
REST_ALLOWFRENCHENCRYPTION, /* not documented */ REST_ALLOWFRENCHENCRYPTION = 0x40000036, /* not documented */
#endif
REST_DONTSHOWSUPERHIDDEN, REST_DONTSHOWSUPERHIDDEN = 0x40000037,
REST_NOSHELLSEARCHBUTTON, REST_NOSHELLSEARCHBUTTON,
REST_NOHARDWARETAB, REST_NOHARDWARETAB,
REST_NORUNASINSTALLPROMPT, REST_NORUNASINSTALLPROMPT,
REST_PROMPTRUNASINSTALLNETPATH, REST_PROMPTRUNASINSTALLNETPATH,
REST_NOMANAGEMYCOMPUTERVERB, REST_NOMANAGEMYCOMPUTERVERB,
REST_NORECENTDOCSNETHOOD, #if (NTDDI_VERSION < NTDDI_VISTA)
REST_DISALLOWRUN, REST_NORECENTDOCSNETHOOD = 0x4000003D, /* not documented */
#endif
REST_DISALLOWRUN = 0x4000003E,
REST_NOWELCOMESCREEN, REST_NOWELCOMESCREEN,
REST_RESTRICTCPL, /* 0x40000040 */ REST_RESTRICTCPL, /* 0x40000040 */
REST_DISALLOWCPL, REST_DISALLOWCPL,
@ -1728,12 +1730,17 @@ typedef enum RESTRICTIONS
REST_NOLOCALMACHINERUNONCE, REST_NOLOCALMACHINERUNONCE,
REST_NOCURRENTUSERRUNONCE, REST_NOCURRENTUSERRUNONCE,
REST_FORCEACTIVEDESKTOPON, REST_FORCEACTIVEDESKTOPON,
REST_NOCOMPUTERSNEARME, #if (NTDDI_VERSION < NTDDI_VISTA)
REST_NOVIEWONDRIVE, REST_NOCOMPUTERSNEARME = 0x4000004B, /* not documented */
REST_NONETCRAWL, #endif
REST_NOSHAREDDOCUMENTS, REST_NOVIEWONDRIVE = 0x4000004C,
REST_NOSMMYDOCS, #if (NTDDI_VERSION >= NTDDI_WINXP) || defined(IE_BACKCOMPAT_VERSION)
REST_NOSMMYPICS, /* 0x40000050 */ REST_NONETCRAWL = 0x4000004D,
REST_NOSHAREDDOCUMENTS = 0x4000004E,
#endif
REST_NOSMMYDOCS = 0x4000004F,
#if (NTDDI_VERSION >= NTDDI_WINXP)
REST_NOSMMYPICS = 0x40000050,
REST_ALLOWBITBUCKDRIVES, REST_ALLOWBITBUCKDRIVES,
REST_NONLEGACYSHELLMODE, REST_NONLEGACYSHELLMODE,
REST_NOCONTROLPANELBARRICADE, REST_NOCONTROLPANELBARRICADE,
@ -1741,17 +1748,25 @@ typedef enum RESTRICTIONS
REST_NOAUTOTRAYNOTIFY, REST_NOAUTOTRAYNOTIFY,
REST_NOTASKGROUPING, REST_NOTASKGROUPING,
REST_NOCDBURNING, REST_NOCDBURNING,
REST_MYCOMPNOPROP, #endif
#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
REST_MYCOMPNOPROP = 0x40000058,
REST_MYDOCSNOPROP, REST_MYDOCSNOPROP,
REST_NOSTARTPANEL, #endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
REST_NOSTARTPANEL = 0x4000005A,
REST_NODISPLAYAPPEARANCEPAGE, REST_NODISPLAYAPPEARANCEPAGE,
REST_NOTHEMESTAB, REST_NOTHEMESTAB,
REST_NOVISUALSTYLECHOICE, REST_NOVISUALSTYLECHOICE,
REST_NOSIZECHOICE, REST_NOSIZECHOICE,
REST_NOCOLORCHOICE, REST_NOCOLORCHOICE,
REST_SETVISUALSTYLE, /* 0x40000060 */ REST_SETVISUALSTYLE, /* 0x40000060 */
REST_STARTRUNNOHOMEPATH, #endif
REST_NOUSERNAMEINSTARTPANEL, #if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
REST_STARTRUNNOHOMEPATH = 0x40000061,
#endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
REST_NOUSERNAMEINSTARTPANEL = 0x40000062,
REST_NOMYCOMPUTERICON, REST_NOMYCOMPUTERICON,
REST_NOSMNETWORKPLACES, REST_NOSMNETWORKPLACES,
REST_NOSMPINNEDLIST, REST_NOSMPINNEDLIST,
@ -1761,14 +1776,20 @@ typedef enum RESTRICTIONS
REST_NOSMMFUPROGRAMS, REST_NOSMMFUPROGRAMS,
REST_NOTRAYITEMSDISPLAY, REST_NOTRAYITEMSDISPLAY,
REST_NOTOOLBARSONTASKBAR, REST_NOTOOLBARSONTASKBAR,
#endif
/* 0x4000006C /* 0x4000006C
0x4000006D 0x4000006D
0x4000006E */ 0x4000006E */
#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
REST_NOSMCONFIGUREPROGRAMS = 0x4000006F, REST_NOSMCONFIGUREPROGRAMS = 0x4000006F,
REST_HIDECLOCK, /* 0x40000070 */ #endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
REST_HIDECLOCK = 0x40000070,
REST_NOLOWDISKSPACECHECKS, REST_NOLOWDISKSPACECHECKS,
REST_NOENTIRENETWORK, #endif
REST_NODESKTOPCLEANUP, REST_NOENTIRENETWORK = 0x40000072,
#if (NTDDI_VERSION >= NTDDI_WINXP)
REST_NODESKTOPCLEANUP = 0x40000073,
REST_BITBUCKNUKEONDELETE, REST_BITBUCKNUKEONDELETE,
REST_BITBUCKCONFIRMDELETE, REST_BITBUCKCONFIRMDELETE,
REST_BITBUCKNOPROP, REST_BITBUCKNOPROP,
@ -1779,19 +1800,65 @@ typedef enum RESTRICTIONS
REST_NODISPLAYCPL, REST_NODISPLAYCPL,
REST_HIDERUNASVERB, REST_HIDERUNASVERB,
REST_NOTHUMBNAILCACHE, REST_NOTHUMBNAILCACHE,
REST_NOSTRCMPLOGICAL, #endif
#if (NTDDI_VERSION >= NTDDI_WINXPSP1) || defined(IE_BACKCOMPAT_VERSION)
REST_NOSTRCMPLOGICAL = 0x4000007E,
REST_NOPUBLISHWIZARD, REST_NOPUBLISHWIZARD,
REST_NOONLINEPRINTSWIZARD, /* 0x40000080 */ REST_NOONLINEPRINTSWIZARD, /* 0x40000080 */
REST_NOWEBSERVICES, REST_NOWEBSERVICES,
REST_ALLOWUNHASHEDWEBVIEW, #endif
REST_ALLOWLEGACYWEBVIEW, #if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
REST_REVERTWEBVIEWSECURITY, REST_ALLOWUNHASHEDWEBVIEW = 0x40000082,
#endif
REST_ALLOWLEGACYWEBVIEW = 0x40000083,
#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
REST_REVERTWEBVIEWSECURITY = 0x40000084,
#endif
/* 0x40000085 */
REST_INHERITCONSOLEHANDLES = 0x40000086, REST_INHERITCONSOLEHANDLES = 0x40000086,
#if (NTDDI_VERSION < NTDDI_VISTA)
REST_SORTMAXITEMCOUNT = 0x40000087,
#endif
/* 0x40000088 */
REST_NOREMOTERECURSIVEEVENTS = 0x40000089,
/* 0x4000008A - 0x40000090 */
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
REST_NOREMOTECHANGENOTIFY = 0x40000091,
#if (NTDDI_VERSION < NTDDI_VISTA)
REST_NOSIMPLENETIDLIST = 0x40000092,
#endif
REST_NOENUMENTIRENETWORK = 0x40000093,
#if (NTDDI_VERSION < NTDDI_VISTA)
REST_NODETAILSTHUMBNAILONNETWORK = 0x40000094,
#endif
REST_NOINTERNETOPENWITH = 0x40000095,
#if (NTDDI_VERSION < NTDDI_VISTA)
REST_ALLOWLEGACYLMZBEHAVIOR = 0x40000096, /* not documented */
#endif
#endif
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
REST_DONTRETRYBADNETNAME = 0x4000009B,
REST_ALLOWFILECLSIDJUNCTIONS,
REST_NOUPNPINSTALL,
#endif
/* 0x4000009E - "NormalizeLinkNetPidls" */
REST_ARP_DONTGROUPPATCHES = 0x400000AC,
REST_ARP_NOCHOOSEPROGRAMSPAGE,
/* 0x400000FF - "AllowCLSIDPROGIDMapping" */
REST_NODISCONNECT = 0x41000001, REST_NODISCONNECT = 0x41000001,
REST_NOSECURITY, REST_NOSECURITY,
REST_NOFILEASSOCIATE, /* 0x41000003 */ REST_NOFILEASSOCIATE, /* 0x41000003 */
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
REST_ALLOWCOMMENTTOGGLE = 0x41000004,
#if (NTDDI_VERSION < NTDDI_VISTA)
REST_USEDESKTOPINICACHE = 0x41000005,
/* 0x41000006 - "NoNetFolderInfoTip" */
#endif
#endif
} RESTRICTIONS; } RESTRICTIONS;
DWORD WINAPI SHRestricted(RESTRICTIONS rest); DWORD WINAPI SHRestricted(RESTRICTIONS rest);