[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.

svn path=/trunk/; revision=46027
This commit is contained in:
Sir Richard 2010-03-09 09:26:46 +00:00
parent d5c439798c
commit b36899aa50
2 changed files with 41 additions and 13 deletions

View file

@ -6,6 +6,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
{
ULONG Length;
@ -2618,13 +2633,14 @@ NtUserSetInformationProcess(
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

View file

@ -1029,16 +1029,28 @@ NtUserSetInformationProcess(
return 0;
}
DWORD
NTSTATUS
APIENTRY
NtUserSetInformationThread(
DWORD dwUnknown1,
DWORD dwUnknown2,
DWORD dwUnknown3,
DWORD dwUnknown4)
NtUserSetInformationThread(IN HANDLE ThreadHandle,
IN USERTHREADINFOCLASS ThreadInformationClass,
IN PVOID ThreadInformation,
IN ULONG ThreadInformationLength)
{
UNIMPLEMENTED;
return 0;
if (ThreadInformationClass == UserThreadInitiateShutdown)
{
DPRINT1("Shutdown initiated\n");
}
else if (ThreadInformationClass == UserThreadEndShutdown)
{
DPRINT1("Shutdown ended\n");
}
else
{
UNIMPLEMENTED;
}
return STATUS_SUCCESS;
}
DWORD