Techwiki:Win32k/WINDOWSTATION
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