Author: akhaldi
Date: Mon Nov  3 13:59:23 2014
New Revision: 65223

URL: http://svn.reactos.org/svn/reactos?rev=65223&view=rev
Log:
[SHELL32]
* Move shpolicy.cpp to the wine folder.
* Rename shpolicy.cpp to shpolicy.c.
* Sync shpolicy.c with Wine 1.7.27.
CORE-8540

Added:
    branches/shell-experiments/dll/win32/shell32/wine/shpolicy.c
      - copied, changed from r65215, 
branches/shell-experiments/dll/win32/shell32/shpolicy.cpp
Removed:
    branches/shell-experiments/dll/win32/shell32/shpolicy.cpp
Modified:
    branches/shell-experiments/dll/win32/shell32/CMakeLists.txt

Modified: branches/shell-experiments/dll/win32/shell32/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/win32/shell32/CMakeLists.txt?rev=65223&r1=65222&r2=65223&view=diff
==============================================================================
--- branches/shell-experiments/dll/win32/shell32/CMakeLists.txt [iso-8859-1] 
(original)
+++ branches/shell-experiments/dll/win32/shell32/CMakeLists.txt [iso-8859-1] 
Mon Nov  3 13:59:23 2014
@@ -63,7 +63,6 @@
     shlfsbind.cpp
     shlmenu.cpp
     shlview.cpp
-    shpolicy.cpp
     stubs.cpp
     systray.cpp
     defcontextmenu.cpp
@@ -78,6 +77,7 @@
     wine/shellole.c
     wine/shellpath.c
     wine/shellstring.c
+    wine/shpolicy.c
     vista.c
     shell32.rc
     ${CMAKE_CURRENT_BINARY_DIR}/shell32_stubs.c

Removed: branches/shell-experiments/dll/win32/shell32/shpolicy.cpp
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/win32/shell32/shpolicy.cpp?rev=65222
==============================================================================
--- branches/shell-experiments/dll/win32/shell32/shpolicy.cpp   [iso-8859-1] 
(original)
+++ branches/shell-experiments/dll/win32/shell32/shpolicy.cpp   (removed)
@@ -1,905 +0,0 @@
-/*
- * shpolicy.c - Data for shell/system policies.
- *
- * Copyright 1999 Ian Schmidt <[email protected]>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- * NOTES:
- *
- * Some of these policies can be tweaked via the System Policy
- * Editor which came with the Win95 Migration Guide, although
- * there doesn't appear to be an updated Win98 version that
- * would handle the many new policies introduced since then.
- * You could easily write one with the information in
- * this file...
- *
- * Up to date as of SHELL32 v5.00 (W2K)
- */
-
-#include "precomp.h"
-
-WINE_DEFAULT_DEBUG_CHANNEL(shell);
-
-#define SHELL_NO_POLICY 0xffffffff
-
-typedef struct tagPOLICYDAT
-{
-  RESTRICTIONS policy;          /* policy value passed to SHRestricted */
-  LPCSTR appstr;         /* application str such as "Explorer" */
-  LPCSTR keystr;         /* name of the actual registry key / policy */
-  DWORD cache;           /* cached value or 0xffffffff for invalid */
-} POLICYDATA, *LPPOLICYDATA;
-
-/* registry strings */
-static const CHAR strRegistryPolicyA[] = 
"Software\\Microsoft\\Windows\\CurrentVersion\\Policies";
-static const WCHAR strRegistryPolicyW[] = 
{'S','o','f','t','w','a','r','e','\\','M','i','c','r','o',
-                                           
's','o','f','t','\\','W','i','n','d','o','w','s','\\',
-                                           
'C','u','r','r','e','n','t','V','e','r','s','i','o','n',
-                                           
'\\','P','o','l','i','c','i','e','s',0};
-static const CHAR strPolicyA[] = "Policy";
-static const WCHAR strPolicyW[] = {'P','o','l','i','c','y',0};
-
-/* application strings */
-
-static const char strExplorer[] = {"Explorer"};
-static const char strActiveDesk[] = {"ActiveDesktop"};
-static const char strWinOldApp[] = {"WinOldApp"};
-static const char strAddRemoveProgs[] = {"AddRemoveProgs"};
-
-/* key strings */
-
-static const char strNoFileURL[] = {"NoFileUrl"};
-static const char strNoFolderOptions[] = {"NoFolderOptions"};
-static const char strNoChangeStartMenu[] = {"NoChangeStartMenu"};
-static const char strNoWindowsUpdate[] = {"NoWindowsUpdate"};
-static const char strNoSetActiveDesktop[] = {"NoSetActiveDesktop"};
-static const char strNoForgetSoftwareUpdate[] = {"NoForgetSoftwareUpdate"};
-//static const char strNoMSAppLogo[] = {"NoMSAppLogo5ChannelNotify"};
-static const char strForceCopyACLW[] = {"ForceCopyACLWithFile"};
-static const char strNoResolveTrk[] = {"NoResolveTrack"};
-static const char strNoResolveSearch[] = {"NoResolveSearch"};
-static const char strNoEditComponent[] = {"NoEditingComponents"};
-static const char strNoMovingBand[] = {"NoMovingBands"};
-static const char strNoCloseDragDrop[] = {"NoCloseDragDropBands"};
-static const char strNoCloseComponent[] = {"NoClosingComponents"};
-static const char strNoDelComponent[] = {"NoDeletingComponents"};
-static const char strNoAddComponent[] = {"NoAddingComponents"};
-static const char strNoComponent[] = {"NoComponents"};
-static const char strNoChangeWallpaper[] = {"NoChangingWallpaper"};
-static const char strNoHTMLWallpaper[] = {"NoHTMLWallpaper"};
-static const char strNoCustomWebView[] = {"NoCustomizeWebView"};
-static const char strClassicShell[] = {"ClassicShell"};
-static const char strClearRecentDocs[] = {"ClearRecentDocsOnExit"};
-static const char strNoFavoritesMenu[] = {"NoFavoritesMenu"};
-static const char strNoActiveDesktopChanges[] = {"NoActiveDesktopChanges"};
-static const char strNoActiveDesktop[] = {"NoActiveDesktop"};
-static const char strNoRecentDocMenu[] = {"NoRecentDocsMenu"};
-static const char strNoRecentDocHistory[] = {"NoRecentDocsHistory"};
-static const char strNoInetIcon[] = {"NoInternetIcon"};
-static const char strNoSettingsWizard[] = {"NoSettingsWizards"};
-static const char strNoLogoff[] = {"NoLogoff"};
-static const char strNoNetConDis[] = {"NoNetConnectDisconnect"};
-static const char strNoViewContextMenu[] = {"NoViewContextMenu"};
-static const char strNoTrayContextMenu[] = {"NoTrayContextMenu"};
-static const char strNoWebMenu[] = {"NoWebMenu"};
-static const char strLnkResolveIgnoreLnkInfo[] = {"LinkResolveIgnoreLinkInfo"};
-static const char strNoCommonGroups[] = {"NoCommonGroups"};
-static const char strEnforceShlExtSecurity[] = 
{"EnforceShellExtensionSecurity"};
-static const char strNoRealMode[] = {"NoRealMode"};
-static const char strMyDocsOnNet[] = {"MyDocsOnNet"};
-static const char strNoStartMenuSubfolder[] = {"NoStartMenuSubFolders"};
-static const char strNoAddPrinters[] = {"NoAddPrinter"};
-static const char strNoDeletePrinters[] = {"NoDeletePrinter"};
-static const char strNoPrintTab[] = {"NoPrinterTabs"};
-static const char strRestrictRun[] = {"RestrictRun"};
-static const char strNoStartBanner[] = {"NoStartBanner"};
-static const char strNoNetworkNeighborhood[] = {"NoNetHood"};
-static const char strNoDriveTypeAtRun[] = {"NoDriveTypeAutoRun"};
-static const char strNoDrivesAutoRun[] = {"NoDriveAutoRun"};
-static const char strSeparateProcess[] = {"SeparateProcess"};
-static const char strNoDrives[] = {"NoDrives"};
-static const char strNoFind[] = {"NoFind"};
-static const char strNoDesktop[] = {"NoDesktop"};
-static const char strNoSetTaskBar[] = {"NoSetTaskbar"};
-static const char strNoSetFld[] = {"NoSetFolders"};
-static const char strNoFileMenu[] = {"NoFileMenu"};
-static const char strNoSaveSetting[] = {"NoSaveSettings"};
-static const char strNoClose[] = {"NoClose"};
-static const char strNoRun[] = {"NoRun"};
-
-/* policy data array */
-static POLICYDATA sh32_policy_table[] =
-{
-  {
-    REST_NORUN,
-    strExplorer,
-    strNoRun,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCLOSE,
-    strExplorer,
-    strNoClose,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSAVESET,
-    strExplorer,
-    strNoSaveSetting,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOFILEMENU,
-    strExplorer,
-    strNoFileMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSETFOLDERS,
-    strExplorer,
-    strNoSetFld,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSETTASKBAR,
-    strExplorer,
-    strNoSetTaskBar,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NODESKTOP,
-    strExplorer,
-    strNoDesktop,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOFIND,
-    strExplorer,
-    strNoFind,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NODRIVES,
-    strExplorer,
-    strNoDrives,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NODRIVEAUTORUN,
-    strExplorer,
-    strNoDrivesAutoRun,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NODRIVETYPEAUTORUN,
-    strExplorer,
-    strNoDriveTypeAtRun,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NONETHOOD,
-    strExplorer,
-    strNoNetworkNeighborhood,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_STARTBANNER,
-    strExplorer,
-    strNoStartBanner,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_RESTRICTRUN,
-    strExplorer,
-    strRestrictRun,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOPRINTERTABS,
-    strExplorer,
-    strNoPrintTab,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOPRINTERDELETE,
-    strExplorer,
-    strNoDeletePrinters,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOPRINTERADD,
-    strExplorer,
-    strNoAddPrinters,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSTARTMENUSUBFOLDERS,
-    strExplorer,
-    strNoStartMenuSubfolder,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_MYDOCSONNET,
-    strExplorer,
-    strMyDocsOnNet,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOEXITTODOS,
-    strWinOldApp,
-    strNoRealMode,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ENFORCESHELLEXTSECURITY,
-    strExplorer,
-    strEnforceShlExtSecurity,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_LINKRESOLVEIGNORELINKINFO,
-    strExplorer,
-    strLnkResolveIgnoreLnkInfo,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCOMMONGROUPS,
-    strExplorer,
-    strNoCommonGroups,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_SEPARATEDESKTOPPROCESS,
-    strExplorer,
-    strSeparateProcess,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOWEB,
-    strExplorer,
-    strNoWebMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOTRAYCONTEXTMENU,
-    strExplorer,
-    strNoTrayContextMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOVIEWCONTEXTMENU,
-    strExplorer,
-    strNoViewContextMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NONETCONNECTDISCONNECT,
-    strExplorer,
-    strNoNetConDis,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_STARTMENULOGOFF,
-    strExplorer,
-    strNoLogoff,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSETTINGSASSIST,
-    strExplorer,
-    strNoSettingsWizard,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOINTERNETICON,
-    strExplorer,
-    strNoInetIcon,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NORECENTDOCSHISTORY,
-    strExplorer,
-    strNoRecentDocHistory,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NORECENTDOCSMENU,
-    strExplorer,
-    strNoRecentDocMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOACTIVEDESKTOP,
-    strExplorer,
-    strNoActiveDesktop,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOACTIVEDESKTOPCHANGES,
-    strExplorer,
-    strNoActiveDesktopChanges,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOFAVORITESMENU,
-    strExplorer,
-    strNoFavoritesMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_CLEARRECENTDOCSONEXIT,
-    strExplorer,
-    strClearRecentDocs,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_CLASSICSHELL,
-    strExplorer,
-    strClassicShell,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCUSTOMIZEWEBVIEW,
-    strExplorer,
-    strNoCustomWebView,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOHTMLWALLPAPER,
-    strActiveDesk,
-    strNoHTMLWallpaper,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCHANGINGWALLPAPER,
-    strActiveDesk,
-    strNoChangeWallpaper,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NODESKCOMP,
-    strActiveDesk,
-    strNoComponent,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOADDDESKCOMP,
-    strActiveDesk,
-    strNoAddComponent,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NODELDESKCOMP,
-    strActiveDesk,
-    strNoDelComponent,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCLOSEDESKCOMP,
-    strActiveDesk,
-    strNoCloseComponent,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCLOSE_DRAGDROPBAND,
-    strActiveDesk,
-    strNoCloseDragDrop,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOMOVINGBAND,
-    strActiveDesk,
-    strNoMovingBand,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOEDITDESKCOMP,
-    strActiveDesk,
-    strNoEditComponent,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NORESOLVESEARCH,
-    strExplorer,
-    strNoResolveSearch,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NORESOLVETRACK,
-    strExplorer,
-    strNoResolveTrk,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_FORCECOPYACLWITHFILE,
-    strExplorer,
-    strForceCopyACLW,
-    SHELL_NO_POLICY
-  },
-#if (NTDDI_VERSION < NTDDI_LONGHORN)
-  {
-    REST_NOLOGO3CHANNELNOTIFY,
-    strExplorer,
-    strNoMSAppLogo,
-    SHELL_NO_POLICY
-  },
-#endif
-  {
-    REST_NOFORGETSOFTWAREUPDATE,
-    strExplorer,
-    strNoForgetSoftwareUpdate,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSETACTIVEDESKTOP,
-    strExplorer,
-    strNoSetActiveDesktop,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOUPDATEWINDOWS,
-    strExplorer,
-    strNoWindowsUpdate,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCHANGESTARMENU,
-    strExplorer,
-    strNoChangeStartMenu,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOFOLDEROPTIONS,
-    strExplorer,
-    strNoFolderOptions,
-    SHELL_NO_POLICY
-  },
-  {
-    REST_HASFINDCOMPUTERS,
-    strExplorer,
-    "FindComputers",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_INTELLIMENUS,
-    strExplorer,
-    "IntelliMenus",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_RUNDLGMEMCHECKBOX,
-    strExplorer,
-    "MemCheckBoxInRunDlg",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ARP_ShowPostSetup,
-    strAddRemoveProgs,
-    "ShowPostSetup",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCSC,
-    strExplorer,
-    "NoSyncAll",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCONTROLPANEL,
-    strExplorer,
-    "NoControlPanel",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ENUMWORKGROUP,
-    strExplorer,
-    "EnumWorkgroup",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ARP_NOARP,
-    strAddRemoveProgs,
-    "NoAddRemovePrograms",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ARP_NOREMOVEPAGE,
-    strAddRemoveProgs,
-    "NoRemovePage",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ARP_NOADDPAGE,
-    strAddRemoveProgs,
-    "NoAddPage",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ARP_NOWINSETUPPAGE,
-    strAddRemoveProgs,
-    "NoWindowsSetupPage",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_GREYMSIADS,
-    strExplorer,
-    "",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCHANGEMAPPEDDRIVELABEL,
-    strExplorer,
-    "NoChangeMappedDriveLabel",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCHANGEMAPPEDDRIVECOMMENT,
-    strExplorer,
-    "NoChangeMappedDriveComment",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_MaxRecentDocs,
-    strExplorer,
-    "MaxRecentDocs",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NONETWORKCONNECTIONS,
-    strExplorer,
-    "NoNetworkConnections",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_FORCESTARTMENULOGOFF,
-    strExplorer,
-    "ForceStartMenuLogoff",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOWEBVIEW,
-    strExplorer,
-     "NoWebView",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCUSTOMIZETHISFOLDER,
-    strExplorer,
-    "NoCustomizeThisFolder",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOENCRYPTION,
-    strExplorer,
-    "NoEncryption",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_ALLOWFRENCHENCRYPTION,
-    strExplorer,
-    "AllowFrenchEncryption",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_DONTSHOWSUPERHIDDEN,
-    strExplorer,
-    "DontShowSuperHidden",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSHELLSEARCHBUTTON,
-    strExplorer,
-    "NoShellSearchButton",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOHARDWARETAB,
-    strExplorer,
-    "NoHardwareTab",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NORUNASINSTALLPROMPT,
-    strExplorer,
-    "NoRunasInstallPrompt",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_PROMPTRUNASINSTALLNETPATH,
-    strExplorer,
-    "PromptRunasInstallNetPath",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOMANAGEMYCOMPUTERVERB,
-    strExplorer,
-    "NoManageMyComputerVerb",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NORECENTDOCSNETHOOD,
-    strExplorer,
-    "NoRecentDocsNetHood",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_DISALLOWRUN,
-    strExplorer,
-    "DisallowRun",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOWELCOMESCREEN,
-    strExplorer,
-    "NoWelcomeScreen",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_RESTRICTCPL,
-    strExplorer,
-    "RestrictCpl",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_DISALLOWCPL,
-    strExplorer,
-    "DisallowCpl",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSMBALLOONTIP,
-    strExplorer,
-    "NoSMBalloonTip",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSMHELP,
-    strExplorer,
-    "NoSMHelp",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOWINKEYS,
-    strExplorer,
-    "NoWinKeys",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOENCRYPTONMOVE,
-    strExplorer,
-    "NoEncryptOnMove",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOLOCALMACHINERUN,
-    strExplorer,
-    "DisableLocalMachineRun",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCURRENTUSERRUN,
-    strExplorer,
-    "DisableCurrentUserRun",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOLOCALMACHINERUNONCE,
-    strExplorer,
-    "DisableLocalMachineRunOnce",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCURRENTUSERRUNONCE,
-    strExplorer,
-    "DisableCurrentUserRunOnce",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_FORCEACTIVEDESKTOPON,
-    strExplorer,
-    "ForceActiveDesktopOn",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOCOMPUTERSNEARME,
-    strExplorer,
-    "NoComputersNearMe",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOVIEWONDRIVE,
-    strExplorer,
-    "NoViewOnDrive",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NONETCRAWL,
-    strExplorer,
-    "NoNetCrawl",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSHAREDDOCUMENTS,
-    strExplorer,
-    "NoSharedDocs",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSMMYDOCS,
-    strExplorer,
-    "NoSMMyDocs",
-    SHELL_NO_POLICY
-  },
-/* 0x4000050 - 0x4000060 */
-  {
-    REST_NONLEGACYSHELLMODE,
-    strExplorer,
-    "NoneLegacyShellMode",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_STARTRUNNOHOMEPATH,
-    strExplorer,
-    "StartRunNoHOMEPATH",
-    SHELL_NO_POLICY
-  },
-/* 0x4000061 - 0x4000086 */
-  {
-    REST_NODISCONNECT,
-    strExplorer,
-    "NoDisconnect",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOSECURITY,
-    strExplorer,
-    "NoNTSecurity",
-    SHELL_NO_POLICY
-  },
-  {
-    REST_NOFILEASSOCIATE,
-    strExplorer,
-    "NoFileAssociate",
-    SHELL_NO_POLICY
-  },
-  {
-    (RESTRICTIONS)0x50000024,
-    strExplorer,
-    strNoFileURL,
-    SHELL_NO_POLICY
-  },
-  {
-    (RESTRICTIONS)0,
-    0,
-    0,
-    SHELL_NO_POLICY
-  }
-};
-
-/*************************************************************************
- * SHRestricted                 [SHELL32.100]
- *
- * Get the value associated with a policy Id.
- *
- * PARAMS
- *     pol [I] Policy Id
- *
- * RETURNS
- *     The queried value for the policy.
- *
- * NOTES
- *     Exported by ordinal.
- *     This function caches the retrieved values to prevent unnecessary 
registry access,
- *     if SHInitRestricted() was previously called.
- *
- * REFERENCES
- *     a: MS System Policy Editor.
- *     b: 98Lite 2.0 (which uses many of these policy keys) 
http://www.98lite.net/
- *     c: 'The Windows 95 Registry', by John Woram, 1996 MIS: Press
- */
-DWORD WINAPI SHRestricted (RESTRICTIONS policy)
-{
-    char regstr[256];
-    HKEY    xhkey;
-    DWORD   retval, datsize = 4;
-    LPPOLICYDATA p;
-
-    TRACE("(%08x)\n", policy);
-
-    /* scan to see if we know this policy ID */
-    for (p = sh32_policy_table; p->policy; p++)
-    {
-      if (policy == p->policy)
-      {
-        break;
-      }
-    }
-
-    if (p->policy == 0)
-    {
-        /* we don't know this policy, return 0 */
-        TRACE("unknown policy: (%08x)\n", policy);
-        return 0;
-    }
-
-    /* we have a known policy */
-
-    /* first check if this policy has been cached, return it if so */
-    if (p->cache != SHELL_NO_POLICY)
-    {
-        return p->cache;
-    }
-
-    lstrcpyA(regstr, strRegistryPolicyA);
-    lstrcatA(regstr, p->appstr);
-
-    /* return 0 and don't set the cache if any registry errors occur */
-    retval = 0;
-    if (RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey) == ERROR_SUCCESS)
-    {
-      if (RegQueryValueExA(xhkey, p->keystr, NULL, NULL, (LPBYTE)&retval, 
&datsize) == ERROR_SUCCESS)
-      {
-        p->cache = retval;
-      }
-      RegCloseKey(xhkey);
-    }
-    return retval;
-}
-
-/*************************************************************************
- * SHInitRestricted          [SHELL32.244]
- *
- * Initialise the policy cache to speed up calls to SHRestricted().
- *
- * PARAMS
- *  unused    [I] Reserved.
- *  inpRegKey [I] Registry key to scan.
- *
- * RETURNS
- *  Success: -1. The policy cache is initialised.
- *  Failure: 0, if inpRegKey is any value other than NULL, "Policy", or
- *           "Software\Microsoft\Windows\CurrentVersion\Policies".
- *
- * NOTES
- *  Exported by ordinal. Introduced in Win98.
- */
-BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
-{
-    TRACE("(%p, %p)\n", unused, inpRegKey);
-
-    /* first check - if input is non-NULL and points to the secret
-       key string, then pass. Otherwise return 0.
-     */
-    if (inpRegKey != NULL)
-    {
-      if (SHELL_OsIsUnicode())
-      {
-        if (lstrcmpiW((LPCWSTR)inpRegKey, strRegistryPolicyW) &&
-            lstrcmpiW((LPCWSTR)inpRegKey, strPolicyW))
-          /* doesn't match, fail */
-          return 0;
-      }
-      else
-      {
-        if (lstrcmpiA((LPCSTR)inpRegKey, strRegistryPolicyA) &&
-            lstrcmpiA((LPCSTR)inpRegKey, strPolicyA))
-          /* doesn't match, fail */
-          return 0;
-      }
-    }
-
-    return TRUE;
-}

Copied: branches/shell-experiments/dll/win32/shell32/wine/shpolicy.c (from 
r65215, branches/shell-experiments/dll/win32/shell32/shpolicy.cpp)
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/win32/shell32/wine/shpolicy.c?p2=branches/shell-experiments/dll/win32/shell32/wine/shpolicy.c&p1=branches/shell-experiments/dll/win32/shell32/shpolicy.cpp&r1=65215&r2=65223&rev=65223&view=diff
==============================================================================
--- branches/shell-experiments/dll/win32/shell32/shpolicy.cpp   [iso-8859-1] 
(original)
+++ branches/shell-experiments/dll/win32/shell32/wine/shpolicy.c        
[iso-8859-1] Mon Nov  3 13:59:23 2014
@@ -29,7 +29,19 @@
  * Up to date as of SHELL32 v5.00 (W2K)
  */
 
-#include "precomp.h"
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+
+#include <windef.h>
+#include <winbase.h>
+#include <shlobj.h>
+#include <wine/debug.h>
+
+#include "shell32_main.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 
@@ -37,7 +49,7 @@
 
 typedef struct tagPOLICYDAT
 {
-  RESTRICTIONS policy;          /* policy value passed to SHRestricted */
+  DWORD policy;          /* policy value passed to SHRestricted */
   LPCSTR appstr;         /* application str such as "Explorer" */
   LPCSTR keystr;         /* name of the actual registry key / policy */
   DWORD cache;           /* cached value or 0xffffffff for invalid */
@@ -776,21 +788,21 @@
     SHELL_NO_POLICY
   },
   {
-    (RESTRICTIONS)0x50000024,
+    0x50000024,
     strExplorer,
     strNoFileURL,
     SHELL_NO_POLICY
   },
   {
-    (RESTRICTIONS)0,
     0,
     0,
+    0,
     SHELL_NO_POLICY
   }
 };
 
 /*************************************************************************
- * SHRestricted                 [SHELL32.100]
+ * SHRestricted                                 [SHELL32.100]
  *
  * Get the value associated with a policy Id.
  *
@@ -812,51 +824,51 @@
  */
 DWORD WINAPI SHRestricted (RESTRICTIONS policy)
 {
-    char regstr[256];
-    HKEY    xhkey;
-    DWORD   retval, datsize = 4;
-    LPPOLICYDATA p;
-
-    TRACE("(%08x)\n", policy);
-
-    /* scan to see if we know this policy ID */
-    for (p = sh32_policy_table; p->policy; p++)
-    {
-      if (policy == p->policy)
-      {
-        break;
-      }
-    }
-
-    if (p->policy == 0)
-    {
-        /* we don't know this policy, return 0 */
-        TRACE("unknown policy: (%08x)\n", policy);
-        return 0;
-    }
-
-    /* we have a known policy */
-
-    /* first check if this policy has been cached, return it if so */
-    if (p->cache != SHELL_NO_POLICY)
-    {
-        return p->cache;
-    }
-
-    lstrcpyA(regstr, strRegistryPolicyA);
-    lstrcatA(regstr, p->appstr);
-
-    /* return 0 and don't set the cache if any registry errors occur */
-    retval = 0;
-    if (RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey) == ERROR_SUCCESS)
-    {
-      if (RegQueryValueExA(xhkey, p->keystr, NULL, NULL, (LPBYTE)&retval, 
&datsize) == ERROR_SUCCESS)
-      {
-        p->cache = retval;
-      }
-      RegCloseKey(xhkey);
-    }
-    return retval;
+       char regstr[256];
+       HKEY    xhkey;
+       DWORD   retval, datsize = 4;
+       LPPOLICYDATA p;
+
+       TRACE("(%08x)\n", policy);
+
+       /* scan to see if we know this policy ID */
+       for (p = sh32_policy_table; p->policy; p++)
+       {
+         if (policy == p->policy)
+         {
+           break;
+         }
+       }
+
+       if (p->policy == 0)
+       {
+           /* we don't know this policy, return 0 */
+           TRACE("unknown policy: (%08x)\n", policy);
+               return 0;
+       }
+
+       /* we have a known policy */
+
+       /* first check if this policy has been cached, return it if so */
+       if (p->cache != SHELL_NO_POLICY)
+       {
+           return p->cache;
+       }
+
+       lstrcpyA(regstr, strRegistryPolicyA);
+       lstrcatA(regstr, p->appstr);
+
+       /* return 0 and don't set the cache if any registry errors occur */
+       retval = 0;
+       if (RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey) == ERROR_SUCCESS)
+       {
+         if (RegQueryValueExA(xhkey, p->keystr, NULL, NULL, (LPBYTE)&retval, 
&datsize) == ERROR_SUCCESS)
+         {
+           p->cache = retval;
+         }
+         RegCloseKey(xhkey);
+       }
+       return retval;
 }
 
 /*************************************************************************
@@ -878,28 +890,28 @@
  */
 BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
 {
-    TRACE("(%p, %p)\n", unused, inpRegKey);
-
-    /* first check - if input is non-NULL and points to the secret
-       key string, then pass. Otherwise return 0.
-     */
-    if (inpRegKey != NULL)
-    {
-      if (SHELL_OsIsUnicode())
-      {
-        if (lstrcmpiW((LPCWSTR)inpRegKey, strRegistryPolicyW) &&
-            lstrcmpiW((LPCWSTR)inpRegKey, strPolicyW))
-          /* doesn't match, fail */
-          return 0;
-      }
-      else
-      {
-        if (lstrcmpiA((LPCSTR)inpRegKey, strRegistryPolicyA) &&
-            lstrcmpiA((LPCSTR)inpRegKey, strPolicyA))
-          /* doesn't match, fail */
-          return 0;
-      }
-    }
-
-    return TRUE;
+       TRACE("(%p, %p)\n", unused, inpRegKey);
+
+       /* first check - if input is non-NULL and points to the secret
+          key string, then pass. Otherwise return 0.
+        */
+       if (inpRegKey != NULL)
+       {
+         if (SHELL_OsIsUnicode())
+         {
+            if (lstrcmpiW(inpRegKey, strRegistryPolicyW) &&
+                lstrcmpiW(inpRegKey, strPolicyW))
+             /* doesn't match, fail */
+             return FALSE;
+         }
+         else
+         {
+            if (lstrcmpiA(inpRegKey, strRegistryPolicyA) &&
+                lstrcmpiA(inpRegKey, strPolicyA))
+             /* doesn't match, fail */
+             return FALSE;
+         }
+       }
+
+       return TRUE;
 }


Reply via email to