Fixed Unicode strings.
[wine] / include / tlhelp32.h
1 #ifndef __WINE_TLHELP32_H
2 #define __WINE_TLHELP32_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 /*
9  * CreateToolhelp32Snapshot
10  */
11
12 #define TH32CS_SNAPHEAPLIST 0x00000001
13 #define TH32CS_SNAPPROCESS  0x00000002
14 #define TH32CS_SNAPTHREAD   0x00000004
15 #define TH32CS_SNAPMODULE   0x00000008
16 #define TH32CS_SNAPALL     (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE)
17 #define TH32CS_INHERIT     0x80000000
18
19 HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
20
21 /*
22  * thread entry list as created by CreateToolHelp32Snapshot 
23  */
24
25 typedef struct tagTHREADENTRY32
26 {
27     DWORD dwSize; 
28     DWORD cntUsage; 
29     DWORD th32ThreadID; 
30     DWORD th32OwnerProcessID; 
31     LONG  tpBasePri; 
32     LONG  tpDeltaPri; 
33     DWORD dwFlags; 
34 } THREADENTRY32, *PTHREADENTRY32, *LPTHREADENTRY32; 
35
36 BOOL WINAPI Thread32First(HANDLE,LPTHREADENTRY32);
37 BOOL WINAPI Thread32Next(HANDLE,LPTHREADENTRY32);
38
39 /*
40  * Process entry list as created by CreateToolHelp32Snapshot 
41  */
42
43 typedef struct tagPROCESSENTRY32
44 {
45     DWORD dwSize; 
46     DWORD cntUsage; 
47     DWORD th32ProcessID; 
48     DWORD th32DefaultHeapID; 
49     DWORD th32ModuleID; 
50     DWORD cntThreads; 
51     DWORD th32ParentProcessID; 
52     LONG  pcPriClassBase; 
53     DWORD dwFlags; 
54     char szExeFile[MAX_PATH]; 
55 } PROCESSENTRY32, *PPROCESSENTRY32, *LPPROCESSENTRY32; 
56
57 typedef struct tagPROCESSENTRY32W
58 {
59     DWORD dwSize; 
60     DWORD cntUsage; 
61     DWORD th32ProcessID; 
62     DWORD th32DefaultHeapID; 
63     DWORD th32ModuleID; 
64     DWORD cntThreads; 
65     DWORD th32ParentProcessID; 
66     LONG  pcPriClassBase; 
67     DWORD dwFlags; 
68     WCHAR szExeFile[MAX_PATH]; 
69 } PROCESSENTRY32W, *PPROCESSENTRY32W, *LPPROCESSENTRY32W; 
70
71 BOOL WINAPI Process32First(HANDLE,LPPROCESSENTRY32);
72 BOOL WINAPI Process32FirstW(HANDLE,LPPROCESSENTRY32W);
73 BOOL WINAPI Process32Next(HANDLE,LPPROCESSENTRY32);
74 BOOL WINAPI Process32NextW(HANDLE,LPPROCESSENTRY32W);
75
76 #ifdef UNICODE
77 #define Process32First Process32FirstW
78 #define Process32Next Process32NextW
79 #define PROCESSENTRY32 PROCESSENTRY32W
80 #define PPROCESSENTRY32 PPROCESSENTRY32W
81 #define LPPROCESSENTRY32 LPPROCESSENTRY32W
82 #endif
83
84 /*
85  * Module entry list as created by CreateToolHelp32Snapshot 
86  */
87
88 #define MAX_MODULE_NAME32 255
89
90 typedef struct tagMODULEENTRY32
91 {
92     DWORD  dwSize; 
93     DWORD  th32ModuleID;
94     DWORD  th32ProcessID; 
95     DWORD  GlblcntUsage;
96     DWORD  ProccntUsage;
97     BYTE  *modBaseAddr;
98     DWORD  modBaseSize;
99     DWORD  hModule;
100     char   szModule[MAX_MODULE_NAME32 + 1];
101     char   szExePath[MAX_PATH]; 
102 } MODULEENTRY32, *PMODULEENTRY32, *LPMODULEENTRY32; 
103
104 typedef struct tagMODULEENTRY32W
105 {
106     DWORD  dwSize; 
107     DWORD  th32ModuleID;
108     DWORD  th32ProcessID; 
109     DWORD  GlblcntUsage;
110     DWORD  ProccntUsage;
111     BYTE  *modBaseAddr;
112     DWORD  modBaseSize;
113     DWORD  hModule;
114     WCHAR  szModule[MAX_MODULE_NAME32 + 1];
115     WCHAR  szExePath[MAX_PATH]; 
116 } MODULEENTRY32W, *PMODULEENTRY32W, *LPMODULEENTRY32W; 
117
118 BOOL WINAPI Module32First(HANDLE,LPMODULEENTRY32);
119 BOOL WINAPI Module32FirstW(HANDLE,LPMODULEENTRY32W);
120 BOOL WINAPI Module32Next(HANDLE,LPMODULEENTRY32);
121 BOOL WINAPI Module32NextW(HANDLE,LPMODULEENTRY32W);
122
123 #ifdef UNICODE
124 #define Module32First Module32FirstW
125 #define Module32Next Module32NextW
126 #define MODULEENTRY32 MODULEENTRY32W
127 #define PMODULEENTRY32 PMODULEENTRY32W
128 #define LPMODULEENTRY32 LPMODULEENTRY32W
129 #endif
130
131 #ifdef __cplusplus
132 } /* extern "C" */
133 #endif
134
135 #endif /* __WINE_TLHELP32_H */