[BASESRV] Enable the ProtectionMode query code
authorPierre Schweitzer <pierre@reactos.org>
Tue, 7 May 2019 20:48:41 +0000 (22:48 +0200)
committerPierre Schweitzer <pierre@reactos.org>
Wed, 8 May 2019 16:34:28 +0000 (18:34 +0200)
And make it global

subsystems/win/basesrv/basesrv.h
subsystems/win/basesrv/init.c

index e9abac9..03ebb9c 100644 (file)
@@ -65,5 +65,9 @@ extern HANDLE BaseSrvHeap;
 extern HANDLE BaseSrvSharedHeap;
 extern PBASE_STATIC_SERVER_DATA BaseStaticServerData;
 extern ULONG SessionId;
+extern ULONG ProtectionMode;
+
+#define SM_REG_KEY \
+    L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager"
 
 #endif /* __BASESRV_H__ */
index 00aa891..87514d9 100644 (file)
@@ -30,6 +30,7 @@ HANDLE BaseSrvSharedHeap = NULL;    // Shared heap with CSR. (CsrSrvSharedSectio
 PBASE_STATIC_SERVER_DATA BaseStaticServerData = NULL;   // Data that we can share amongst processes. Initialized inside BaseSrvSharedHeap.
 
 ULONG SessionId = 0;
+ULONG ProtectionMode = 0;
 
 PINIFILE_MAPPING BaseSrvIniFileMapping;
 
@@ -177,14 +178,10 @@ CreateBaseAcls(OUT PACL* Dacl,
     SID_IDENTIFIER_AUTHORITY NtAuthority = {SECURITY_NT_AUTHORITY};
     SID_IDENTIFIER_AUTHORITY WorldAuthority = {SECURITY_WORLD_SID_AUTHORITY};
     NTSTATUS Status;
-#if 0 // Unused code
     UCHAR KeyValueBuffer[0x40];
     PKEY_VALUE_PARTIAL_INFORMATION KeyValuePartialInfo;
     UNICODE_STRING KeyName;
-    ULONG ProtectionMode = 0;
-#endif
     ULONG AclLength;
-#if 0 // Unused code
     ULONG ResultLength;
     HANDLE hKey;
     OBJECT_ATTRIBUTES ObjectAttributes;
@@ -220,7 +217,6 @@ CreateBaseAcls(OUT PACL* Dacl,
         /* Close the handle */
         NtClose(hKey);
     }
-#endif
 
     /* Allocate the System SID */
     Status = RtlAllocateAndInitializeSid(&NtAuthority,