Techwiki:Win32k/WINDOWSTATION
From ReactOS
Windows XP version of WINDOWSTATION
typedef struct tagCLIP
{
UINT fmt;
HANDLE hData;
BOOL fGlobalHandle;
} CLIP, *PCLIP;
typedef struct _WINDOWSTATION
{
#if (_WIN32_WINNT >= 0x0501)
DWORD dwSessionId; // XP
#endif
struct _WINDOWSTATION *rpwinstaNext;
PDESKTOP rpdeskList;
PTERMINAL pTerm;
DWORD dwWSF_Flags;
PKL spklList;
PTHREADINFO ptiClipLock;
PTHREADINFO ptiDrawingClipboard;
PWND spwndClipOpen;
PWND spwndClipViewer;
PWND spwndClipOwner;
PCLIP pClipBase; // Not a clip object.
DWORD cNumClipFormats;
INT iClipSerialNumber;
INT iClipSequenceNumber;
INT fClipboardChanged : 1;
INT fInDelayedRendering : 1;
PVOID pGlobalAtomTable;
LUID luidEndSession;
LUID luidUser;
PSID psidUser;
PQ pqDesktop;
#if (_WIN32_WINNT <= 0x0500)
DWORD dwSessionId; // W2k
#endif
} WINDOWSTATION, *PWINDOWSTATION;
// dwWSF flags from reference:
#define WSF_SWITCHLOCK 0x0001
#define WSF_OPENLOCK 0x0002
#define WSF_NOIO 0x0004
#define WSF_SHUTDOWN 0x0008
#define WSF_DYING 0x0010
#define WSF_REALSHUTDOWN 0x0020
References
- http://www.woodmann.com/forum/showthread.php?p=72755
- http://www.rsdn.ru/Forum/message/3090950.flat.aspx
- http://chpie.tistory.com/entry/Blocking-Global-message-hook
- http://blog.csdn.net/uuty/archive/2005/02/08/284268.aspx No flags from userkdx, so use this reference.
- Windows Symbol files, userkdx.dll, !dso, W7U symbols

