We are planning to go for windows 8.1 desktop app certification. The app is in c++-CLI. One of the requirements of the certification is that the app should be run under App Verifier for detecting errors.
The App connects to our company server(s) for all its data needs. So basically all calls are HTTPS.To be sure, we wanted to test a simple win32 console application (in VS2013 professional trial version on windows 8.1 x64) under App Verifier and for http(s) related calls, for which we used windows.web.httpclient. The application when ran “asInvoker” in standard user mode with UAC enabled, under app verifier (and process monitor) failed giving out some luaPriv errors related to winsock2 registry. But with SUA, there were no errors. App Verfier Log:
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x332D" Severity="Error">
<avrf:message>The application was denied access to an object.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WinSock2\Parameters) is denied 'DELETE READ_CONTROL WRITE_DAC WRITE_OWNER KEY_QUERY_VALUE KEY_SET_VALUE KEY_CREATE_SUB_KEY KEY_ENUMERATE_SUB_KEYS KEY_NOTIFY KEY_CREATE_LINK' access with error 0x5.</avrf:formatmessage>
<avrf:parameter1>5 - Error returned</avrf:parameter1>
<avrf:parameter2>f003f - Access Requested (if applicable)</avrf:parameter2>
<avrf:parameter3>f003f - Access Requested (for compatibility)</avrf:parameter3>
<avrf:parameter4>0 - n/a</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d985c8 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d9283f ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x331B" Severity="Error">
<avrf:message>Access was restricted to trusted users only.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\WinSock2\Parameters) only grants requested 'KEY_SET_VALUE' to 'BUILTIN\Administrators, NT AUTHORITY\SYSTEM'</avrf:formatmessage>
<avrf:parameter1>7ff962d835b0 - Object Type</avrf:parameter1>
<avrf:parameter2>16535e9f60 - Object Name</avrf:parameter2>
<avrf:parameter3>2 - Access Mask</avrf:parameter3>
<avrf:parameter4>16535e7fa0 - String SID</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d88714 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d888d2 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88d20 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88e99 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d893ca ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d895f9 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d928ec ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x331B" Severity="Error">
<avrf:message>Access was restricted to trusted users only.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\WinSock2\Parameters) only grants requested 'KEY_CREATE_SUB_KEY' to 'BUILTIN\Administrators, NT AUTHORITY\SYSTEM'</avrf:formatmessage>
<avrf:parameter1>7ff962d835b0 - Object Type</avrf:parameter1>
<avrf:parameter2>16535e9f60 - Object Name</avrf:parameter2>
<avrf:parameter3>4 - Access Mask</avrf:parameter3>
<avrf:parameter4>16535f3fa0 - String SID</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d88714 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d888d2 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88d20 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88e99 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d893ca ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d895f9 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d928ec ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x331B" Severity="Error">
<avrf:message>Access was restricted to trusted users only.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\WinSock2\Parameters) only grants requested 'KEY_CREATE_LINK' to 'BUILTIN\Administrators, NT AUTHORITY\SYSTEM'</avrf:formatmessage>
<avrf:parameter1>7ff962d835b0 - Object Type</avrf:parameter1>
<avrf:parameter2>16535e9f60 - Object Name</avrf:parameter2>
<avrf:parameter3>20 - Access Mask</avrf:parameter3>
<avrf:parameter4>16535fbfa0 - String SID</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d88714 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d888d2 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88d20 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88e99 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d893ca ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d895f9 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d928ec ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x331B" Severity="Error">
<avrf:message>Access was restricted to trusted users only.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\WinSock2\Parameters) only grants requested 'DELETE' to 'BUILTIN\Administrators, NT AUTHORITY\SYSTEM'</avrf:formatmessage>
<avrf:parameter1>7ff962d835b0 - Object Type</avrf:parameter1>
<avrf:parameter2>16535e9f60 - Object Name</avrf:parameter2>
<avrf:parameter3>10000 - Access Mask</avrf:parameter3>
<avrf:parameter4>16535f5fa0 - String SID</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d88714 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d888d2 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88d20 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88e99 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d893fe ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d895f9 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d928ec ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x331B" Severity="Error">
<avrf:message>Access was restricted to trusted users only.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\WinSock2\Parameters) only grants requested 'WRITE_DAC' to 'BUILTIN\Administrators, NT AUTHORITY\SYSTEM'</avrf:formatmessage>
<avrf:parameter1>7ff962d835b0 - Object Type</avrf:parameter1>
<avrf:parameter2>16535e9f60 - Object Name</avrf:parameter2>
<avrf:parameter3>40000 - Access Mask</avrf:parameter3>
<avrf:parameter4>16535fffa0 - String SID</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d88714 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d888d2 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88d20 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88e99 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d893fe ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d895f9 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d928ec ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
<avrf:logEntry Time="2014-05-06 : 17:44:16" LayerName="LuaPriv" StopCode="0x331B" Severity="Error">
<avrf:message>Access was restricted to trusted users only.</avrf:message>
<avrf:formatmessage>RegOpenKeyExW: Key (\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\WinSock2\Parameters) only grants requested 'WRITE_OWNER' to 'BUILTIN\Administrators, NT AUTHORITY\SYSTEM'</avrf:formatmessage>
<avrf:parameter1>7ff962d835b0 - Object Type</avrf:parameter1>
<avrf:parameter2>16535e9f60 - Object Name</avrf:parameter2>
<avrf:parameter3>80000 - Access Mask</avrf:parameter3>
<avrf:parameter4>16535fdfa0 - String SID</avrf:parameter4>
<avrf:stackTrace>
<avrf:trace>vfluapriv!+7ff962d88714 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d888d2 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88d20 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d88e99 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d893fe ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d895f9 ( @ 0)</avrf:trace>
<avrf:trace>vfluapriv!+7ff962d928ec ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1d1 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+15b0 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1551 ( @ 0)</avrf:trace>
<avrf:trace>WS2_32!WahCreateHandleContextTable+1440 ( @ 0)</avrf:trace>
<avrf:trace>vfnet!+7ff962cfb42e ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2614 ( @ 0)</avrf:trace>
<avrf:trace>WININET!UrlCacheCreateContainer+2f44 ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetTimeToSystemTimeA+ad ( @ 0)</avrf:trace>
<avrf:trace>WININET!InternetOpenW+12f ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!DllCanUnloadNow+4c3b ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf2bab ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf24e3 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4ba86 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4a32a ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960bf4325 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c4eb32 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c46098 ( @ 0)</avrf:trace>
<avrf:trace>Windows.Web.Http!+7ff960c45403 ( @ 0)</avrf:trace>
<avrf:trace>ConsoleApplication1!Windows::Web::Http::IHttpClient::GetAsync+32 (c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0 @ 15732480)</avrf:trace>
<avrf:trace>ConsoleApplication1!main+446 (c:\users\mswarna\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp @ 83)</avrf:trace>
<avrf:trace>ConsoleApplication1!_main+9d (f:\dd\vctools\winrt\vccorlib\climain.cpp @ 52)</avrf:trace>
<avrf:trace>ConsoleApplication1!__tmainCRTStartup+10f (f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 626)</avrf:trace>
<avrf:trace>KERNEL32!BaseThreadInitThunk+d ( @ 0)</avrf:trace>
<avrf:trace>ntdll!RtlUserThreadStart+1d ( @ 0)</avrf:trace>
</avrf:stackTrace>
</avrf:logEntry>
Sample code:
Windows::Web::Http::HttpClient^ httpClient;
Windows::Web::Http::HttpResponseMessage^ response;
httpClient = ref new HttpClient();
HttpRequestHeaderCollection ^headers = httpClient->DefaultRequestHeaders;
headers->UserAgent->ParseAdd("ie");
headers->UserAgent->ParseAdd("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
Uri^ resourceUri;
response = ref new HttpResponseMessage();
String^ uriString = "http://yahoo.co.in";
try
{
resourceUri = ref new Uri(uriString);
}
catch (Exception ^ex)
{
cout << "\nInvalid URI, please re-enter a valid URI.";
return 0;
}
if (resourceUri->SchemeName != "http" && resourceUri->SchemeName != "https")
{
cout << "\nOnly 'http' and 'https' schemes supported. Please re-enter URI";
return 0;
}
String^ responseBodyAsText;
cout << "\nWaiting for response ...";
create_task(httpClient->GetAsync(resourceUri)).then([=](HttpResponseMessage^ response)
{
response->EnsureSuccessStatusCode();
String^ outputStr = response->StatusCode.ToString() + " " + response->ReasonPhrase;
cout << outputStr->Data();
return create_task(response->Content->ReadAsStringAsync());
}).then([=](String^ responseBodyAsText){
wstring fooW(responseBodyAsText->Begin());
string fooA(fooW.begin(), fooW.end());
const char* charStr = fooA.c_str();
cout << "\n Response Data = " << charStr;
}).then([=](task<void> prevTask)
{
try
{
prevTask.get();
}
catch (Exception ^ex)
{
String^ errorStr = "Error = " + ex->HResult + " Message: " + ex->Message;
cout << errorStr->Data();
return;
}
});
Steps to create the project [steps 3,4,5 adds WinRT Support for using windows.web.httpclient]:
- Open VS 2013 professional in standard user mode.
- Go to File->New->Project->installed->templates->Visual C++->Win32->Win 32 Console Application and create.
- In the C/C++->General tab, set "Consume Windows Runtime Extension" to Yes (/ZW)
- Set /Gm
- Add Windows.winmd and Platform.winmd paths to "Additional #using Directories"
Can we ignore these errors or is there any other alternative way of accomplishing http(s) task?
One approach is to go for an Out-of-Proc COM server for http related tasks and the app would use COM Elevation Moniker to elevate out-of-proc server (tried and succeeded without any errors in app verifier). [Again, isn’t this COM elevation a bit complicated(at least in this scenario) and for every call we have to elevate the process and show the UAC shield icon?] If there is no other alternative, but to go for elevation, then I have following doubts:
For handling network related tasks from UAC perspective, should we go for "Admin COM Object Model" or "Back-End Service Model"?
For every http(s) call, the user has to be prompted for elevation with UAC shield icon?
Should both COM client as well as COM server pass App verifier tests? Or only client should be checked with App Verifier? If com server should pass as well, then are there any recommended design changes (like starting COM server in admin mode during installation etc.) that can we should consider as currently COM server throws LuaPriv related errors with App Verifier during it's instantiation when all COM initialization takes place.