From 9fd0632528b5127d280def0c2fc94cc91d334fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 27 Jan 2013 13:55:04 +0000 Subject: [PATCH] [SMSS] Revert my change of loading the win32k kernel-mode subsystem driver by reading the Kmode value and use instead a hardcoded value, per request of Alex. I'm wondering why Windows wouldn't allow you to use a personalized value there and forces you to use win32k with this name, placed in \SystemRoot\System32 directory and not in an other place. svn path=/trunk/; revision=58241 --- reactos/base/system/smss/smsubsys.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/reactos/base/system/smss/smsubsys.c b/reactos/base/system/smss/smsubsys.c index 50775375ac3..e18435e4e46 100644 --- a/reactos/base/system/smss/smsubsys.c +++ b/reactos/base/system/smss/smsubsys.c @@ -515,7 +515,7 @@ SmpLoadSubSystemsForMuSession(IN PULONG MuSessionId, { NTSTATUS Status = STATUS_SUCCESS, Status2; PSMP_REGISTRY_VALUE RegEntry; - UNICODE_STRING NtPath; + UNICODE_STRING DestinationString, NtPath; PLIST_ENTRY NextEntry; LARGE_INTEGER Timeout; PVOID State; @@ -570,10 +570,15 @@ SmpLoadSubSystemsForMuSession(IN PULONG MuSessionId, } AttachedSessionId = *MuSessionId; - /* Start Win32k.sys on this session */ + /* + * Start Win32k.sys on this session. Use a hardcoded value + * instead of the Kmode one... + */ + RtlInitUnicodeString(&DestinationString, + L"\\SystemRoot\\System32\\win32k.sys"); Status = NtSetSystemInformation(SystemExtendServiceTableInformation, - &NtPath, - sizeof(NtPath)); + &DestinationString, + sizeof(DestinationString)); RtlFreeHeap(RtlGetProcessHeap(), 0, NtPath.Buffer); SmpReleasePrivilege(State); if (!NT_SUCCESS(Status))