7 #define MAX_MODULE_NAME 9
9 #define MAX_CLASSNAME 255
38 /* GlobalFirst()/GlobalNext() flags */
54 #define GT_BURGERMASTER 10
57 #define GD_USERDEFINED 0
58 #define GD_CURSORCOMPONENT 1
60 #define GD_ICONCOMPONENT 3
66 #define GD_ACCELERATORS 9
68 #define GD_ERRTABLE 11
71 #define GD_NAMETABLE 15
72 #define GD_MAX_RESOURCE 15
75 #define GF_PDB_OWNER 0x0100 /* Low byte is KERNEL flags */
77 BOOL
GlobalInfo( GLOBALINFO
*pInfo
);
78 BOOL
GlobalFirst( GLOBALENTRY
*pGlobal
, WORD wFlags
);
79 BOOL
GlobalNext( GLOBALENTRY
*pGlobal
, WORD wFlags
) ;
80 BOOL
GlobalEntryHandle( GLOBALENTRY
*pGlobal
, HGLOBAL hItem
);
81 BOOL
GlobalEntryModule( GLOBALENTRY
*pGlobal
, HMODULE hModule
, WORD wSeg
);
82 WORD
GlobalHandleToSel( HGLOBAL handle
);
106 /* wHeapType values */
107 #define NORMAL_HEAP 0
114 #define LF_MOVEABLE 4
119 #define LT_GDI_PEN 1 /* LT_GDI_* is for GDI's heap */
120 #define LT_GDI_BRUSH 2
121 #define LT_GDI_FONT 3
122 #define LT_GDI_PALETTE 4
123 #define LT_GDI_BITMAP 5
126 #define LT_GDI_DISABLED_DC 8
127 #define LT_GDI_METADC 9
128 #define LT_GDI_METAFILE 10
129 #define LT_GDI_MAX LT_GDI_METAFILE
130 #define LT_USER_CLASS 1 /* LT_USER_* is for USER's heap */
131 #define LT_USER_WND 2
132 #define LT_USER_STRING 3
133 #define LT_USER_MENU 4
134 #define LT_USER_CLIP 5
135 #define LT_USER_CBOX 6
136 #define LT_USER_PALETTE 7
138 #define LT_USER_BWL 9
139 #define LT_USER_OWNERDRAW 10
140 #define LT_USER_SPB 11
141 #define LT_USER_CHECKPOINT 12
142 #define LT_USER_DCE 13
143 #define LT_USER_MWP 14
144 #define LT_USER_PROP 15
145 #define LT_USER_LBIV 16
146 #define LT_USER_MISC 17
147 #define LT_USER_ATOMS 18
148 #define LT_USER_LOCKINPUTSTATE 19
149 #define LT_USER_HOOKLIST 20
150 #define LT_USER_USERSEEUSERDOALLOC 21
151 #define LT_USER_HOTKEYLIST 22
152 #define LT_USER_POPUPMENU 23
153 #define LT_USER_HANDLETABLE 32
154 #define LT_USER_MAX LT_USER_HANDLETABLE
156 BOOL
LocalInfo( LOCALINFO
*pLocalInfo
, HGLOBAL handle
);
157 BOOL
LocalFirst( LOCALENTRY
*pLocalEntry
, HGLOBAL handle
);
158 BOOL
LocalNext( LOCALENTRY
*pLocalEntry
);
165 char szModule
[MAX_MODULE_NAME
+ 1];
168 char szExePath
[MAX_PATH
+ 1];
171 typedef MODULEENTRY
*LPMODULEENTRY
;
173 BOOL
ModuleFirst(MODULEENTRY
*lpModule
);
174 BOOL
ModuleNext(MODULEENTRY
*lpModule
);
175 BOOL
ModuleFindName(MODULEENTRY
*lpModule
, LPCSTR lpstrName
);
176 BOOL
ModuleFindHandle(MODULEENTRY
*lpModule
, HMODULE hModule
);
180 typedef struct tagTASKENTRY
{
193 char szModule
[MAX_MODULE_NAME
+ 1];
197 typedef TASKENTRY
*LPTASKENTRY
;
199 BOOL
TaskFirst(LPTASKENTRY lpTask
);
200 BOOL
TaskNext(LPTASKENTRY lpTask
);
201 BOOL
TaskFindHandle(LPTASKENTRY lpTask
, HTASK hTask
);
202 DWORD
TaskSetCSIP(HTASK hTask
, WORD wCS
, WORD wIP
);
203 DWORD
TaskGetCSIP(HTASK hTask
);
204 BOOL
TaskSwitch(HTASK hTask
, DWORD dwNewCSIP
);
208 typedef struct tagMEMMANINFO
{
210 DWORD dwLargestFreeBlock
;
211 DWORD dwMaxPagesAvailable
;
212 DWORD dwMaxPagesLockable
;
213 DWORD dwTotalLinearSpace
;
214 DWORD dwTotalUnlockedPages
;
217 DWORD dwFreeLinearSpace
;
218 DWORD dwSwapFilePages
;
221 typedef MEMMANINFO
*LPMEMMANINFO
;
226 WORD wUserFreePercent
;
227 WORD wGDIFreePercent
;
228 HGLOBAL hUserSegment
;
232 BOOL
MemManInfo(LPMEMMANINFO lpEnhMode
);
233 BOOL
SystemHeapInfo( SYSHEAPINFO
*pHeapInfo
);
241 HMODULE hInst
; /* This is really an hModule */
242 char szClassName
[MAX_CLASSNAME
+ 1];
246 BOOL
ClassFirst( CLASSENTRY
*pClassEntry
);
247 BOOL
ClassNext( CLASSENTRY
*pClassEntry
);
250 /* Memory read/write */
252 DWORD
MemoryRead( WORD sel
, DWORD offset
, void *buffer
, DWORD count
);
253 DWORD
MemoryWrite( WORD sel
, DWORD offset
, void *buffer
, DWORD count
);
256 #endif /* __TOOLHELP_H */