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
This commit is contained in:
Hermès Bélusca-Maïto 2013-01-27 13:55:04 +00:00
parent 50b1d52ba9
commit 9fd0632528

View file

@ -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))