mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
[NTUSER] Improve WINSTATION_OBJECT compatibility (#4591)
- Modify WINSTATION_OBJECT structure with inserting struct tagKL *spklList member. - Add some C_ASSERT(offsetof(WINSTATION_OBJECT, ...) == ...);. CORE-18252
This commit is contained in:
parent
23ecbb3ed5
commit
6c1b65d7a4
|
@ -11,18 +11,16 @@
|
|||
#define WSS_DYING (16)
|
||||
#define WSS_REALSHUTDOWN (32)
|
||||
|
||||
// See also: https://reactos.org/wiki/Techwiki:Win32k/WINDOWSTATION
|
||||
typedef struct _WINSTATION_OBJECT
|
||||
{
|
||||
DWORD dwSessionId;
|
||||
|
||||
LIST_ENTRY DesktopListHead;
|
||||
PRTL_ATOM_TABLE AtomTable;
|
||||
HANDLE ShellWindow;
|
||||
HANDLE ShellListView;
|
||||
|
||||
ULONG Flags;
|
||||
struct _DESKTOP* ActiveDesktop;
|
||||
|
||||
ULONG Flags;
|
||||
struct tagKL* spklList;
|
||||
PTHREADINFO ptiClipLock;
|
||||
PTHREADINFO ptiDrawingClipboard;
|
||||
PWND spwndClipOpen;
|
||||
|
@ -40,8 +38,22 @@ typedef struct _WINSTATION_OBJECT
|
|||
LUID luidUser;
|
||||
PVOID psidUser;
|
||||
|
||||
/* ReactOS-specific */
|
||||
struct _DESKTOP* ActiveDesktop;
|
||||
HANDLE ShellWindow;
|
||||
HANDLE ShellListView;
|
||||
} WINSTATION_OBJECT, *PWINSTATION_OBJECT;
|
||||
|
||||
#ifndef _WIN64
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, Flags) == 0x10);
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, spklList) == 0x14);
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, ptiClipLock) == 0x18);
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, ptiDrawingClipboard) == 0x1c);
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, spwndClipOpen) == 0x20);
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, spwndClipViewer) == 0x24);
|
||||
C_ASSERT(offsetof(WINSTATION_OBJECT, spwndClipOwner) == 0x28);
|
||||
#endif
|
||||
|
||||
extern WINSTATION_OBJECT *InputWindowStation;
|
||||
extern HANDLE gpidLogon;
|
||||
extern HWND hwndSAS;
|
||||
|
|
Loading…
Reference in a new issue