Release 941122
[wine/multimedia.git] / include / toolhelp.h
blob40d7d9be5b57732b8e4408c1201c15d93a08da36
1 #ifndef __TOOLHELP_H
2 #define __TOOLHELP_H
4 #include "windows.h"
6 DECLARE_HANDLE(HMODULE);
7 DECLARE_HANDLE(HGLOBAL);
9 #define MAX_DATA 11
10 #define MAX_MODULE_NAME 9
11 #define MAX_PATH 255
12 #define MAX_CLASSNAME 255
14 /* modules */
16 typedef struct {
17 DWORD dwSize;
18 char szModule[MAX_MODULE_NAME + 1];
19 HMODULE hModule;
20 WORD wcUsage;
21 char szExePath[MAX_PATH + 1];
22 WORD wNext;
23 } MODULEENTRY;
24 typedef MODULEENTRY *LPMODULEENTRY;
26 BOOL ModuleFirst(MODULEENTRY *lpModule);
27 BOOL ModuleNext(MODULEENTRY *lpModule);
28 HMODULE ModuleFindName(MODULEENTRY *lpModule, LPCSTR lpstrName);
29 HMODULE ModuleFindHandle(MODULEENTRY *lpModule, HMODULE hModule);
31 /* tasks */
33 typedef struct tagTASKENTRY {
34 DWORD dwSize;
35 HTASK hTask;
36 HTASK hTaskParent;
37 HINSTANCE hInst;
38 HMODULE hModule;
39 WORD wSS;
40 WORD wSP;
41 WORD wStackTop;
42 WORD wStackMinimum;
43 WORD wStackBottom;
44 WORD wcEvents;
45 HGLOBAL hQueue;
46 char szModule[MAX_MODULE_NAME + 1];
47 WORD wPSPOffset;
48 HANDLE hNext;
49 } TASKENTRY;
50 typedef TASKENTRY *LPTASKENTRY;
52 BOOL TaskFirst(LPTASKENTRY lpTask);
53 BOOL TaskNext(LPTASKENTRY lpTask);
54 BOOL TaskFindHandle(LPTASKENTRY lpTask, HTASK hTask);
55 DWORD TaskSetCSIP(HTASK hTask, WORD wCS, WORD wIP);
56 DWORD TaskGetCSIP(HTASK hTask);
57 BOOL TaskSwitch(HTASK hTask, DWORD dwNewCSIP);
59 /* mem info */
61 typedef struct tagMEMMANINFO {
62 DWORD dwSize;
63 DWORD dwLargestFreeBlock;
64 DWORD dwMaxPagesAvailable;
65 DWORD dwMaxPagesLockable;
66 DWORD dwTotalLinearSpace;
67 DWORD dwTotalUnlockedPages;
68 DWORD dwFreePages;
69 DWORD dwTotalPages;
70 DWORD dwFreeLinearSpace;
71 DWORD dwSwapFilePages;
72 WORD wPageSize;
73 } MEMMANINFO;
74 typedef MEMMANINFO *LPMEMMANINFO;
76 typedef struct tagSYSHEAPINFO {
77 DWORD dwSize;
78 WORD wUserFreePercent;
79 WORD wGDIFreePercent;
80 HGLOBAL hUserSegment;
81 HGLOBAL hGDISegment;
82 } SYSHEAPINFO;
83 typedef SYSHEAPINFO *LPSYSHEAPINFO;
85 BOOL MemManInfo(LPMEMMANINFO lpEnhMode);
86 BOOL SystemHeapInfo(LPSYSHEAPINFO lpSysHeap);
88 #endif /* __TOOLHELP_H */