Jacek Caban : urlmon: Added IsInternetESCEnabledLocal implementation.

Alexandre Julliard julliard at winehq.org
Thu Feb 13 13:26:10 CST 2014


Module: wine
Branch: master
Commit: 8f07fbcd534ff38b00359cffb1651019d06db492
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8f07fbcd534ff38b00359cffb1651019d06db492

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Feb 13 13:49:58 2014 +0100

urlmon: Added IsInternetESCEnabledLocal implementation.

---

 dlls/urlmon/sec_mgr.c   |   35 +++++++++++++++++++++++++++++++++++
 dlls/urlmon/urlmon.spec |    1 +
 2 files changed, 36 insertions(+)

diff --git a/dlls/urlmon/sec_mgr.c b/dlls/urlmon/sec_mgr.c
index eaad546..dc57c88 100644
--- a/dlls/urlmon/sec_mgr.c
+++ b/dlls/urlmon/sec_mgr.c
@@ -49,6 +49,12 @@ static const WCHAR wszZonesKey[] = {'S','o','f','t','w','a','r','e','\\',
                                     'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
                                     'I','n','t','e','r','n','e','t',' ','S','e','t','t','i','n','g','s','\\',
                                     'Z','o','n','e','s','\\',0};
+static const WCHAR zone_map_keyW[] = {'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','\\',
+                                      'I','n','t','e','r','n','e','t',' ','S','e','t','t','i','n','g','s','\\',
+                                      'Z','o','n','e','M','a','p',0};
 static const WCHAR wszZoneMapDomainsKey[] = {'S','o','f','t','w','a','r','e','\\',
                                              'M','i','c','r','o','s','o','f','t','\\',
                                              'W','i','n','d','o','w','s','\\',
@@ -2067,3 +2073,32 @@ HRESULT WINAPI CompareSecurityIds(BYTE *secid1, DWORD size1, BYTE *secid2, DWORD
     FIXME("(%p %d %p %d %x)\n", secid1, size1, secid2, size2, reserved);
     return E_NOTIMPL;
 }
+
+/********************************************************************
+ *      IsInternetESCEnabledLocal (URLMON.108)
+ *
+ * Undocumented, returns if IE is running in Enhanced Security Configuration.
+ */
+BOOL WINAPI IsInternetESCEnabledLocal(void)
+{
+    static BOOL esc_initialized, esc_enabled;
+
+    TRACE("()\n");
+
+    if(!esc_initialized) {
+        DWORD type, size, val;
+        HKEY zone_map;
+
+        static const WCHAR iehardenW[] = {'I','E','H','a','r','d','e','n',0};
+
+        if(RegOpenKeyExW(HKEY_CURRENT_USER, zone_map_keyW, 0, KEY_QUERY_VALUE, &zone_map) == ERROR_SUCCESS) {
+            size = sizeof(DWORD);
+            if(RegQueryValueExW(zone_map, iehardenW, NULL, &type, (BYTE*)&val, &size) == ERROR_SUCCESS)
+                esc_enabled = type == REG_DWORD && val != 0;
+            RegCloseKey(zone_map);
+        }
+        esc_initialized = TRUE;
+    }
+
+    return esc_enabled;
+}
diff --git a/dlls/urlmon/urlmon.spec b/dlls/urlmon/urlmon.spec
index e66fff7..96ba40a 100644
--- a/dlls/urlmon/urlmon.spec
+++ b/dlls/urlmon/urlmon.spec
@@ -95,6 +95,7 @@
 @ stub WriteHitLogging
 @ stub ZonesReInit
 
+108 stdcall @() IsInternetESCEnabledLocal
 111 stdcall @(wstr) IsProtectedModeURL
 328 stdcall @(ptr ptr) propsys.VariantCompare
 329 stdcall @(ptr ptr) propsys.VariantToGUID




More information about the wine-cvs mailing list