Module: wine Branch: master Commit: 8f07fbcd534ff38b00359cffb1651019d06db492 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8f07fbcd534ff38b00359cffb1...
Author: Jacek Caban jacek@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