annotate win32/tlhelp32.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * tlhelp32.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 module win32.tlhelp32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12 private import win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14 enum : uint {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 HF32_DEFAULT = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16 HF32_SHARED
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 enum : uint {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20 LF32_FIXED = 0x1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21 LF32_FREE = 0x2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 LF32_MOVEABLE = 0x4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 const MAX_MODULE_NAME32 = 255;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 enum : uint {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 TH32CS_SNAPHEAPLIST = 0x1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 TH32CS_SNAPPROCESS = 0x2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 TH32CS_SNAPTHREAD = 0x4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 TH32CS_SNAPMODULE = 0x8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNAPTHREAD|TH32CS_SNAPMODULE),
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 TH32CS_INHERIT = 0x80000000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 struct HEAPLIST32 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 DWORD th32ProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 DWORD th32HeapID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 alias HEAPLIST32* PHEAPLIST32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 alias HEAPLIST32* LPHEAPLIST32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 struct HEAPENTRY32 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 HANDLE hHandle;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 DWORD dwAddress;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 DWORD dwBlockSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 DWORD dwLockCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 DWORD dwResvd;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 DWORD th32ProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54 DWORD th32HeapID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 alias HEAPENTRY32* PHEAPENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 alias HEAPENTRY32* LPHEAPENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 struct PROCESSENTRY32W {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 DWORD cntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 DWORD th32ProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 DWORD th32DefaultHeapID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 DWORD th32ModuleID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 DWORD cntThreads;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 DWORD th32ParentProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 LONG pcPriClassBase;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 WCHAR szExeFile[MAX_PATH];
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 alias PROCESSENTRY32W* PPROCESSENTRY32W;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 alias PROCESSENTRY32W* LPPROCESSENTRY32W;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 struct THREADENTRY32 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 DWORD cntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 DWORD th32ThreadID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 DWORD th32OwnerProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 LONG tpBasePri;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 LONG tpDeltaPri;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 alias THREADENTRY32* PTHREADENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 alias THREADENTRY32* LPTHREADENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 struct MODULEENTRY32W {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 DWORD th32ModuleID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 DWORD th32ProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 DWORD GlblcntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 DWORD ProccntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 BYTE *modBaseAddr;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 DWORD modBaseSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 HMODULE hModule;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 WCHAR szModule[MAX_MODULE_NAME32 + 1];
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 WCHAR szExePath[MAX_PATH];
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 alias MODULEENTRY32W* PMODULEENTRY32W;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 alias MODULEENTRY32W* LPMODULEENTRY32W;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 version(Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 alias PROCESSENTRY32W PROCESSENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 alias PPROCESSENTRY32W PPROCESSENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 alias LPPROCESSENTRY32W LPPROCESSENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 alias MODULEENTRY32W MODULEENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 alias PMODULEENTRY32W PMODULEENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 alias LPMODULEENTRY32W LPMODULEENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 struct PROCESSENTRY32 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 DWORD cntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 DWORD th32ProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 DWORD th32DefaultHeapID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 DWORD th32ModuleID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 DWORD cntThreads;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 DWORD th32ParentProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 LONG pcPriClassBase;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 CHAR szExeFile[MAX_PATH];
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 alias PROCESSENTRY32* PPROCESSENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 alias PROCESSENTRY32* LPPROCESSENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 struct MODULEENTRY32 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 DWORD th32ModuleID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 DWORD th32ProcessID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 DWORD GlblcntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 DWORD ProccntUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 BYTE *modBaseAddr;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 DWORD modBaseSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 HMODULE hModule;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 char szModule[MAX_MODULE_NAME32 + 1];
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 char szExePath[MAX_PATH];
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 alias MODULEENTRY32* PMODULEENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 alias MODULEENTRY32* LPMODULEENTRY32;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 extern(Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 BOOL Heap32First(LPHEAPENTRY32,DWORD,DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 BOOL Heap32ListFirst(HANDLE,LPHEAPLIST32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 BOOL Heap32ListNext(HANDLE,LPHEAPLIST32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 BOOL Heap32Next(LPHEAPENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 BOOL Thread32First(HANDLE,LPTHREADENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 BOOL Thread32Next(HANDLE,LPTHREADENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 BOOL Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 HANDLE CreateToolhelp32Snapshot(DWORD,DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 BOOL Module32FirstW(HANDLE,LPMODULEENTRY32W);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 BOOL Module32NextW(HANDLE,LPMODULEENTRY32W);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 BOOL Process32FirstW(HANDLE,LPPROCESSENTRY32W);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 BOOL Process32NextW(HANDLE,LPPROCESSENTRY32W);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 version(Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 alias Module32FirstW Module32First;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 alias Module32NextW Module32Next;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 alias Process32FirstW Process32First;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 alias Process32NextW Process32Next;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 extern(Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 BOOL Module32First(HANDLE,LPMODULEENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 BOOL Module32Next(HANDLE,LPMODULEENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166 BOOL Process32First(HANDLE,LPPROCESSENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167 BOOL Process32Next(HANDLE,LPPROCESSENTRY32);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 }