Author: hbelusca Date: Sun Jan 27 13:55:04 2013 New Revision: 58241
URL: http://svn.reactos.org/svn/reactos?rev=58241&view=rev Log: [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.
Modified: trunk/reactos/base/system/smss/smsubsys.c
Modified: trunk/reactos/base/system/smss/smsubsys.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/smss/smsubsys.c... ============================================================================== --- trunk/reactos/base/system/smss/smsubsys.c [iso-8859-1] (original) +++ trunk/reactos/base/system/smss/smsubsys.c [iso-8859-1] Sun Jan 27 13:55:04 2013 @@ -515,7 +515,7 @@ { 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 @@ } 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))