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/ntu…
==============================================================================
--- 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/nt…
==============================================================================
--- 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