Index: src/shared/Utils.cpp |
=================================================================== |
--- a/src/shared/Utils.cpp |
+++ b/src/shared/Utils.cpp |
@@ -25,6 +25,29 @@ |
return osvi.dwMajorVersion >= 6; |
} |
+bool IsAppContainersSupported() |
+{ |
+ //Try to allocate SID of AppContainer and see if it's succesful |
+ PSID allAppContainersSid = 0; |
+ SID_IDENTIFIER_AUTHORITY applicationAuthority = SECURITY_APP_PACKAGE_AUTHORITY; |
+ BOOL res = AllocateAndInitializeSid(&applicationAuthority, |
+ SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT, |
+ SECURITY_APP_PACKAGE_BASE_RID, |
+ SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE, |
+ 0, 0, 0, 0, 0, 0, |
+ &allAppContainersSid); |
+ |
+ if (res == FALSE) |
+ { |
+ return false; |
+ } |
+ else |
+ { |
+ FreeSid(allAppContainersSid); |
+ return true; |
+ } |
+} |
+ |
std::string ToUtf8String(const std::wstring& str) |
{ |
int length = static_cast<int>(str.size()); |