[ros-diffs] [sir_richard] 46027: [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.

sir_richard at svn.reactos.org sir_richard at svn.reactos.org
Tue Mar 9 10:26:46 CET 2010


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/ntuser.h?rev=46027&r1=46026&r2=46027&view=diff
==============================================================================
--- 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/ntuser/ntstubs.c?rev=46027&r1=46026&r2=46027&view=diff
==============================================================================
--- 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




More information about the Ros-diffs mailing list