Techwiki:Win32k/WINDOWSTATION

From ReactOS Wiki
Jump to: navigation, search

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