Author: sir_richard Date: Tue Mar 9 10:26:46 2010 New Revision: 46027
URL: http://svn.reactos.org/svn/reactos?rev=46027&view=rev Log: [WIN32K]: Stub-plement NtUserSetInformationThread for UserInitiateShutdown and UserEndShutdown. I think we're supposed to notify Winlogon at some point, and check for races. Part of new shutdown code.
Modified: trunk/reactos/include/reactos/win32k/ntuser.h trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c
Modified: trunk/reactos/include/reactos/win32k/ntuser.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntus... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] Tue Mar 9 10:26:46 2010 @@ -5,6 +5,21 @@ typedef struct _THREADINFO *PTHREADINFO; struct _DESKTOP; struct _WND; + +typedef enum _USERTHREADINFOCLASS +{ + UserThreadShutdownInformation, + UserThreadFlags, + UserThreadTaskName, + UserThreadWOWInformation, + UserThreadHungStatus, + UserThreadInitiateShutdown, + UserThreadEndShutdown, + UserThreadUseActiveDesktop, + UserThreadUseDesktop, + UserThreadRestoreDesktop, + UserThreadCsrApiPort, +} USERTHREADINFOCLASS;
typedef struct _LARGE_UNICODE_STRING { @@ -2618,13 +2633,14 @@ DWORD dwUnknown3, DWORD dwUnknown4);
-DWORD +NTSTATUS NTAPI NtUserSetInformationThread( - DWORD dwUnknown1, - DWORD dwUnknown2, - DWORD dwUnknown3, - DWORD dwUnknown4); + IN HANDLE ThreadHandle, + IN USERTHREADINFOCLASS ThreadInformationClass, + IN PVOID ThreadInformation, + IN ULONG ThreadInformationLength +);
DWORD NTAPI
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] Tue Mar 9 10:26:46 2010 @@ -1029,16 +1029,28 @@ return 0; }
-DWORD -APIENTRY -NtUserSetInformationThread( - DWORD dwUnknown1, - DWORD dwUnknown2, - DWORD dwUnknown3, - DWORD dwUnknown4) -{ - UNIMPLEMENTED; - return 0; +NTSTATUS +APIENTRY +NtUserSetInformationThread(IN HANDLE ThreadHandle, + IN USERTHREADINFOCLASS ThreadInformationClass, + IN PVOID ThreadInformation, + IN ULONG ThreadInformationLength) + +{ + if (ThreadInformationClass == UserThreadInitiateShutdown) + { + DPRINT1("Shutdown initiated\n"); + } + else if (ThreadInformationClass == UserThreadEndShutdown) + { + DPRINT1("Shutdown ended\n"); + } + else + { + UNIMPLEMENTED; + } + + return STATUS_SUCCESS; }
DWORD