Techwiki:Win32k/PROCESSINFO

From ReactOS Wiki
Jump to: navigation, search

PROCESSINFO from Windows XP

typedef struct _USERSTARTUPINFO
{
  /* 000 */ DWORD cb;
  /* 004 */ DWORD dwX;
  /* 008 */ DWORD dwY;
  /* 00C */ DWORD dwXSize;
  /* 010 */ DWORD dwYSize;
  /* 014 */ DWORD dwFlags;
  /* 018 */ DWORD wShowWindow;
  /* 01A */ DWORD cbReserved2;
} USERSTARTUPINFO, *PUSERSTARTUPINFO;

#define CLIBS 32

typedef struct _PROCESSINFO
{
  /* 0x000 */ W32PROCESS;
  //***************************************** begin: USER specific fields
  /* 0x078 */ PTHREADINFO     ptiList;               // threads in this process
  /* 0x07C */ PTHREADINFO     ptiMainThread;         // pti of "main thread"
  /* 0x080 */ PDESKTOP        rpdeskStartup;         // initial desktop
  /* 0x084 */ PCLS            pclsPrivateList;       // this processes' private classes
  /* 0x088 */ PCLS            pclsPublicList;        // this processes' public classes
  /* 0x08C */ PWOWPROCESSINFO pwpi;                  // Wow PerProcess Info
  /* 0x090 */ PPROCESSINFO    ppiNext;               // next ppi structure in start list
  /* 0x094 */ PPROCESSINFO    ppiNextRunning;
  /* 0x098 */ int             cThreads;              // count of threads using this process info
  /* 0x09C */ HDESK           hdeskStartup;          // initial desktop handle
  /* 0x0A0 */ UINT            cSysExpunge;           // sys expunge counter
  /* 0x0A4 */ DWORD           dwhmodLibLoadedMask;   // bits describing loaded hook dlls
  /* 0x0A8 */ HANDLE          ahmodLibLoaded[CLIBS]; // process unique hmod array for hook dlls
  /* 0x128 */ PWINDOWSTATION  prpwinsta;             // process windowstation
  /* 0x12C */ HWINSTA         hwinsta;               // windowstation handle
  /* 0x130 */ ACCESS_MASK     amwinsta;              // windowstation accesses
  /* 0x134 */ DWORD           dwHotkey;              // hot key from progman
  /* 0x138 */ HMONITOR        hMonitor;              // monitor handle from CreateProcess
  /* 0x13C */ PDESKTOPVIEW    pdvList;               // list of desktop views
  /* 0x140 */ UINT            iClipSerialNumber;     // clipboard serial number
  /* 0x144 */ RTL_BITMAP      bmHandleFlags;         // per handle flags
  /* 0x14C */ PCURSOR         pCursorCache;          // process cursor/icon cache
  /* 0x150 */ PVOID           pClientBase;           // LEAVE THIS FOR HYDRA; offset to the shared section
  /* 0x154 */ DWORD           dwLpkEntryPoints;      // user mode language pack installed
  /* 0x158 */ PW32JOB         pW32Job;               // pointer to the W32JOB structure
  /* 0x15C */ DWORD           dwImeCompatFlags;      // per-process Ime Compatibility flags
                                                     //   from ImmCreateContext->NtUserGetThreadState #13
  /* 0x160 */ LUID            luidSession;           // logon session id
  /* 0x168 */ USERSTARTUPINFO usi;                   // process startup info
  #ifdef VALIDATEHANDLEQUOTA
   LONG lHandles;
  #endif
  #ifdef USE_MIRRORING
   DWORD           dwLayout;                   // the default Window orientation for this process
  #endif
  /* 0x18C */ PPROCESS_HID_TABLE pHidTable;
  /* 0x190 */ BOOL           WindowsGhosting;       // _DisableProcessWindowsGhosting
} PROCESSINFO, *PPROCESSINFO; // W32ProcessSize == 0x198 Xp size.


References