Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwin32.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 /* W32PROCESS flags */ 00004 #define W32PF_CONSOLEAPPLICATION 0x00000001 00005 #define W32PF_FORCEOFFFEEDBACK 0x00000002 00006 #define W32PF_STARTGLASS 0x00000004 00007 #define W32PF_WOW 0x00000008 00008 #define W32PF_READSCREENACCESSGRANTED 0x00000010 00009 #define W32PF_INITIALIZED 0x00000020 00010 #define W32PF_APPSTARTING 0x00000040 00011 #define W32PF_WOW64 0x00000080 00012 #define W32PF_ALLOWFOREGROUNDACTIVATE 0x00000100 00013 #define W32PF_OWNDCCLEANUP 0x00000200 00014 #define W32PF_SHOWSTARTGLASSCALLED 0x00000400 00015 #define W32PF_FORCEBACKGROUNDPRIORITY 0x00000800 00016 #define W32PF_TERMINATED 0x00001000 00017 #define W32PF_CLASSESREGISTERED 0x00002000 00018 #define W32PF_THREADCONNECTED 0x00004000 00019 #define W32PF_PROCESSCONNECTED 0x00008000 00020 #define W32PF_SETFOREGROUNDALLOWED 0x00008000 00021 #define W32PF_WAKEWOWEXEC 0x00010000 00022 #define W32PF_WAITFORINPUTIDLE 0x00020000 00023 #define W32PF_IOWINSTA 0x00040000 00024 #define W32PF_CONSOLEFOREGROUND 0x00080000 00025 #define W32PF_OLELOADED 0x00100000 00026 #define W32PF_SCREENSAVER 0x00200000 00027 #define W32PF_IDLESCREENSAVER 0x00400000 00028 #define W32PF_ICONTITLEREGISTERED 0x10000000 00029 #define W32PF_DPIAWARE 0x20000000 00030 // ReactOS 00031 #define W32PF_NOWINDOWGHOSTING (0x01000000) 00032 #define W32PF_MANUALGUICHECK (0x02000000) 00033 #define W32PF_CREATEDWINORDC (0x04000000) 00034 #define W32PF_APIHOOKLOADED (0x08000000) 00035 00036 extern BOOL ClientPfnInit; 00037 extern HINSTANCE hModClient; 00038 extern HANDLE hModuleWin; // This Win32k Instance. 00039 extern PCLS SystemClassList; 00040 extern BOOL RegisteredSysClasses; 00041 00042 typedef struct _WIN32HEAP WIN32HEAP, *PWIN32HEAP; 00043 00044 #include <pshpack1.h> 00045 // FIXME: Move to ntuser.h 00046 typedef struct _TL 00047 { 00048 struct _TL* next; 00049 PVOID pobj; 00050 PVOID pfnFree; 00051 } TL, *PTL; 00052 00053 typedef struct _W32THREAD 00054 { 00055 PETHREAD pEThread; 00056 ULONG RefCount; 00057 PTL ptlW32; 00058 PVOID pgdiDcattr; 00059 PVOID pgdiBrushAttr; 00060 PVOID pUMPDObjs; 00061 PVOID pUMPDHeap; 00062 DWORD dwEngAcquireCount; 00063 PVOID pSemTable; 00064 PVOID pUMPDObj; 00065 } W32THREAD, *PW32THREAD; 00066 00067 typedef struct _THREADINFO 00068 { 00069 W32THREAD; 00070 PTL ptl; 00071 PPROCESSINFO ppi; 00072 struct _USER_MESSAGE_QUEUE* MessageQueue; 00073 struct tagKL* KeyboardLayout; 00074 PCLIENTTHREADINFO pcti; 00075 struct _DESKTOP* rpdesk; 00076 PDESKTOPINFO pDeskInfo; 00077 PCLIENTINFO pClientInfo; 00078 FLONG TIF_flags; 00079 PUNICODE_STRING pstrAppName; 00080 struct _USER_SENT_MESSAGE *pusmCurrent; 00081 LONG timeLast; 00082 ULONG_PTR idLast; 00083 INT exitCode; 00084 HDESK hdesk; 00085 UINT cPaintsReady; /* Count of paints pending. */ 00086 UINT cTimersReady; /* Count of timers pending. */ 00087 DWORD dwExpWinVer; 00088 DWORD dwCompatFlags; 00089 DWORD dwCompatFlags2; 00090 struct _USER_MESSAGE_QUEUE* pqAttach; 00091 PTHREADINFO ptiSibling; 00092 ULONG fsHooks; 00093 PHOOK sphkCurrent; 00094 LPARAM lParamHkCurrent; 00095 WPARAM wParamHkCurrent; 00096 struct tagSBTRACK* pSBTrack; 00097 HANDLE hEventQueueClient; 00098 PKEVENT pEventQueueServer; 00099 LIST_ENTRY PtiLink; 00100 POINT ptLast; 00101 00102 LIST_ENTRY aphkStart[NB_HOOKS]; 00103 CLIENTTHREADINFO cti; // Used only when no Desktop or pcti NULL. 00104 00105 /* ReactOS */ 00106 LIST_ENTRY WindowListHead; 00107 LIST_ENTRY W32CallbackListHead; 00108 SINGLE_LIST_ENTRY ReferencesList; 00109 ULONG cExclusiveLocks; 00110 #if DBG 00111 USHORT acExclusiveLockCount[GDIObjTypeTotal + 1]; 00112 #endif 00113 00114 } THREADINFO; 00115 00116 #include <poppack.h> 00117 00118 typedef struct _W32HEAP_USER_MAPPING 00119 { 00120 struct _W32HEAP_USER_MAPPING *Next; 00121 PVOID KernelMapping; 00122 PVOID UserMapping; 00123 ULONG_PTR Limit; 00124 ULONG Count; 00125 } W32HEAP_USER_MAPPING, *PW32HEAP_USER_MAPPING; 00126 00127 00128 /* 00129 Information from STARTUPINFOW, psdk/winbase.h. 00130 Set from PsGetCurrentProcess()->Peb->ProcessParameters. 00131 */ 00132 typedef struct tagUSERSTARTUPINFO 00133 { 00134 ULONG cb; 00135 DWORD dwX; // STARTF_USEPOSITION StartupInfo->dwX/Y 00136 DWORD dwY; 00137 DWORD dwXSize; // STARTF_USESIZE StartupInfo->dwX/YSize 00138 DWORD dwYSize; 00139 DWORD dwFlags; // STARTF_ StartupInfo->dwFlags 00140 WORD wShowWindow; // StartupInfo->wShowWindow 00141 USHORT cbReserved2; 00142 } USERSTARTUPINFO, *PUSERSTARTUPINFO; 00143 00144 typedef struct _W32PROCESS 00145 { 00146 PEPROCESS peProcess; 00147 DWORD RefCount; 00148 ULONG W32PF_flags; 00149 PKEVENT InputIdleEvent; 00150 DWORD StartCursorHideTime; 00151 struct _W32PROCESS * NextStart; 00152 PVOID pDCAttrList; 00153 PVOID pBrushAttrList; 00154 DWORD W32Pid; 00155 LONG GDIHandleCount; 00156 LONG UserHandleCount; 00157 PEX_PUSH_LOCK GDIPushLock; /* Locking Process during access to structure. */ 00158 RTL_AVL_TABLE GDIEngUserMemAllocTable; /* Process AVL Table. */ 00159 LIST_ENTRY GDIDcAttrFreeList; 00160 LIST_ENTRY GDIBrushAttrFreeList; 00161 } W32PROCESS, *PW32PROCESS; 00162 00163 #define CLIBS 32 00164 00165 typedef struct _PROCESSINFO 00166 { 00167 W32PROCESS; 00168 PTHREADINFO ptiList; 00169 PTHREADINFO ptiMainThread; 00170 struct _DESKTOP* rpdeskStartup; 00171 PCLS pclsPrivateList; 00172 PCLS pclsPublicList; 00173 INT cThreads; 00174 HDESK hdeskStartup; 00175 DWORD dwhmodLibLoadedMask; 00176 HANDLE ahmodLibLoaded[CLIBS]; 00177 struct _WINSTATION_OBJECT *prpwinsta; 00178 HWINSTA hwinsta; 00179 ACCESS_MASK amwinsta; 00180 DWORD dwHotkey; 00181 HMONITOR hMonitor; 00182 LUID luidSession; 00183 USERSTARTUPINFO usi; 00184 DWORD dwLayout; 00185 DWORD dwRegisteredClasses; 00186 /* ReactOS */ 00187 LIST_ENTRY MenuListHead; 00188 FAST_MUTEX PrivateFontListLock; 00189 LIST_ENTRY PrivateFontListHead; 00190 FAST_MUTEX DriverObjListLock; 00191 LIST_ENTRY DriverObjListHead; 00192 struct tagKL* KeyboardLayout; // THREADINFO only 00193 W32HEAP_USER_MAPPING HeapMappings; 00194 struct _GDI_POOL *pPoolDcAttr; 00195 struct _GDI_POOL *pPoolBrushAttr; 00196 struct _GDI_POOL *pPoolRgnAttr; 00197 00198 #if DBG 00199 BYTE DbgChannelLevel[DbgChCount]; 00200 #endif 00201 } PROCESSINFO; 00202 00203 #if DBG 00204 void NTAPI UserDbgPreServiceHook(ULONG ulSyscallId, PULONG_PTR pulArguments); 00205 ULONG_PTR NTAPI UserDbgPostServiceHook(ULONG ulSyscallId, ULONG_PTR ulResult); 00206 #endif 00207 Generated on Sun May 27 2012 04:38:36 for ReactOS by
1.7.6.1
|