#ifndef _NTUSER_H
// rev
typedef enum _USERTHREADINFOCLASS
{
UserThreadCsrssDesktopInfo = 0, // q: USERTHREAD_CSRSS_DESKTOP_INFO
UserThreadFlags = 1, // q: ULONG; s: ULONGLONG
UserThreadTaskName = 2, // q: PWSTR (UTF-16 task/process name buffer)
UserThreadInformation3 = 3, // q:
UserThreadHungStatus = 4, // q: ULONG timeout in milliseconds; output ULONG boolean
UserThreadInitiateShutdown = 5, // s: ULONG flags (InitiateShutdown); IsPrivileged(...,19) when flag bit0 set
UserThreadSetShutdownDesktop = 6, // s: ignored (current session shutdown desktop)
UserThreadSetCsrssDesktop = 7, // s: USERTHREAD_DESKTOP_CONTEXT
UserThreadSetCsrssDesktopFromThread = 8, // s: HANDLE
UserThreadRestoreCsrssDesktop = 9, // s: USERTHREAD_RESTORE_DESKTOP_INFO
UserThreadSetCsrApiPort = 10, // s: HANDLE
UserThreadShutdownThreadList = 11, // q: HANDLE[]
UserThreadSetShutdownWindow = 12, // s: HWND
UserThreadQueueShutdownRequest = 13, // s: ULONG_PTR
UserThreadClearShutdownRequest = 14, // s: ULONG_PTR
UserThreadSetConvertibleState = 15, // s: ULONG
UserThreadSetDockState = 16, // s: ULONG
UserThreadRefreshShellState = 17, // s: ignored; internally sequences class 7 and 9; access: CSRSS only; priv: follows class 7/9 checks
} USERTHREADINFOCLASS, *PUSERTHREADINFOCLASS;
View code on GitHubNo description available.