[WINLOGON][WIN32K]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 7 Feb 2015 15:26:42 +0000 (15:26 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 7 Feb 2015 15:26:42 +0000 (15:26 +0000)
commitb8d8fbdc9db6c93e6e22d8d6821556381c1dc2c0
tree84bf140a36eb6884065a9756dc910271b921f503
parent8e988cc2f3198d68a8aa033a1d614ae6f8c4ec3c
[WINLOGON][WIN32K]
Move the shutdown privilege check from winlogon to win32k (function "UserInitiateShutdown") as it should be done.

[WIN32K]
- Introduce the pair of UserInitiateShutdown/UserEndShutdown calls that should be called when WINSRV starts a shutdown (and when it finishes it). In particular it is in UserInitiateShutdown that we need to check whether the caller has the rights to perform a shutdown (it should also have a valid window station).
- Remove the ROS-specific TWOPARAM_ROUTINE_EXITREACTOS call that is traded for Win2k3-compatible call to UserInitiateShutdown.

[WINSRV]
Hackfix our current ExitWindowsEx functionality (based on a patch by Alex made against r46050 for win32csr) to make it "compatible" with the improvements in win32k: impersonate the caller and call the UserInitiateShutdown win32k system call (instead of the TWOPARAM_ROUTINE_EXITREACTOS). More will come later on.

[USER32]
Win32k can require performing shutdown in an asynchronous way (needed also on WINSRV side) so we need to put all the code in a worker thread.

Part 8/X (part 6 was r65693 and part 7 was r66186).

CORE-8322 #comment Start to add Alex' win32csr shutdown patch in WINSRV; fixes for winlogon and additions to win32k.

svn path=/trunk/; revision=66192
reactos/base/system/winlogon/sas.c
reactos/win32ss/include/ntuser.h
reactos/win32ss/user/ntuser/ntstubs.c
reactos/win32ss/user/ntuser/shutdown.c
reactos/win32ss/user/ntuser/shutdown.h
reactos/win32ss/user/ntuser/simplecall.c
reactos/win32ss/user/user32/misc/exit.c
reactos/win32ss/user/winsrv/usersrv/shutdown.c