home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / cecko / install / devcpp4920.exe / include / tlhelp32.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-14  |  4.0 KB  |  137 lines

  1. /*
  2.     tlhelp32.h - Include file for Tool help functions.
  3.  
  4.     Written by Mumit Khan <khan@nanotech.wisc.edu>
  5.  
  6.     This file is part of a free library for the Win32 API. 
  7.  
  8.     This library is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11.  
  12. */
  13. #ifndef _TLHELP32_H
  14. #define _TLHELP32_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #define HF32_DEFAULT    1
  19. #define HF32_SHARED    2
  20. #define LF32_FIXED    0x1
  21. #define LF32_FREE    0x2
  22. #define LF32_MOVEABLE    0x4
  23. #define MAX_MODULE_NAME32    255
  24. #define TH32CS_SNAPHEAPLIST    0x1
  25. #define TH32CS_SNAPPROCESS    0x2
  26. #define TH32CS_SNAPTHREAD    0x4
  27. #define TH32CS_SNAPMODULE    0x8
  28. #define TH32CS_SNAPALL    (TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNAPTHREAD|TH32CS_SNAPMODULE)
  29. #define TH32CS_INHERIT    0x80000000
  30. typedef struct tagHEAPLIST32 {
  31.     DWORD dwSize;
  32.     DWORD th32ProcessID;
  33.     DWORD th32HeapID;
  34.     DWORD dwFlags;
  35. } HEAPLIST32,*PHEAPLIST32,*LPHEAPLIST32;
  36. typedef struct tagHEAPENTRY32 {
  37.     DWORD dwSize;
  38.     HANDLE hHandle;
  39.     DWORD dwAddress;
  40.     DWORD dwBlockSize;
  41.     DWORD dwFlags;
  42.     DWORD dwLockCount;
  43.     DWORD dwResvd;
  44.     DWORD th32ProcessID;
  45.     DWORD th32HeapID;
  46. } HEAPENTRY32,*PHEAPENTRY32,*LPHEAPENTRY32;
  47. typedef struct tagPROCESSENTRY32W {
  48.     DWORD dwSize;
  49.     DWORD cntUsage;
  50.     DWORD th32ProcessID;
  51.     DWORD th32DefaultHeapID;
  52.     DWORD th32ModuleID;
  53.     DWORD cntThreads;
  54.     DWORD th32ParentProcessID;
  55.     LONG pcPriClassBase;
  56.     DWORD dwFlags;
  57.     WCHAR szExeFile[MAX_PATH];
  58. } PROCESSENTRY32W,*PPROCESSENTRY32W,*LPPROCESSENTRY32W;
  59. typedef struct tagPROCESSENTRY32 {
  60.     DWORD dwSize;
  61.     DWORD cntUsage;
  62.     DWORD th32ProcessID;
  63.     DWORD th32DefaultHeapID;
  64.     DWORD th32ModuleID;
  65.     DWORD cntThreads;
  66.     DWORD th32ParentProcessID;
  67.     LONG pcPriClassBase;
  68.     DWORD dwFlags;
  69.     CHAR  szExeFile[MAX_PATH];
  70. } PROCESSENTRY32,*PPROCESSENTRY32,*LPPROCESSENTRY32;
  71. typedef struct tagTHREADENTRY32 {
  72.     DWORD dwSize;
  73.     DWORD cntUsage;
  74.     DWORD th32ThreadID;
  75.     DWORD th32OwnerProcessID;
  76.     LONG tpBasePri;
  77.     LONG tpDeltaPri;
  78.     DWORD dwFlags;
  79. } THREADENTRY32,*PTHREADENTRY32,*LPTHREADENTRY32;
  80. typedef struct tagMODULEENTRY32W {
  81.     DWORD dwSize;
  82.     DWORD th32ModuleID;
  83.     DWORD th32ProcessID;
  84.     DWORD GlblcntUsage;
  85.     DWORD ProccntUsage;
  86.     BYTE *modBaseAddr;
  87.     DWORD modBaseSize;
  88.     HMODULE hModule; 
  89.     WCHAR szModule[MAX_MODULE_NAME32 + 1];
  90.     WCHAR szExePath[MAX_PATH];
  91. } MODULEENTRY32W,*PMODULEENTRY32W,*LPMODULEENTRY32W;
  92. typedef struct tagMODULEENTRY32 {
  93.     DWORD dwSize;
  94.     DWORD th32ModuleID;
  95.     DWORD th32ProcessID;
  96.     DWORD GlblcntUsage;
  97.     DWORD ProccntUsage;
  98.     BYTE *modBaseAddr;
  99.     DWORD modBaseSize;
  100.     HMODULE hModule;
  101.     char szModule[MAX_MODULE_NAME32 + 1];
  102.     char szExePath[MAX_PATH];
  103. } MODULEENTRY32,*PMODULEENTRY32,*LPMODULEENTRY32;
  104. BOOL WINAPI Heap32First(LPHEAPENTRY32,DWORD,DWORD);
  105. BOOL WINAPI Heap32ListFirst(HANDLE,LPHEAPLIST32);
  106. BOOL WINAPI Heap32ListNext(HANDLE,LPHEAPLIST32);
  107. BOOL WINAPI Heap32Next(LPHEAPENTRY32);
  108. BOOL WINAPI Module32First(HANDLE,LPMODULEENTRY32);
  109. BOOL WINAPI Module32FirstW(HANDLE,LPMODULEENTRY32W);
  110. BOOL WINAPI Module32Next(HANDLE,LPMODULEENTRY32);
  111. BOOL WINAPI Module32NextW(HANDLE,LPMODULEENTRY32W);
  112. BOOL WINAPI Process32First(HANDLE,LPPROCESSENTRY32);
  113. BOOL WINAPI Process32FirstW(HANDLE,LPPROCESSENTRY32W);
  114. BOOL WINAPI Process32Next(HANDLE,LPPROCESSENTRY32);
  115. BOOL WINAPI Process32NextW(HANDLE,LPPROCESSENTRY32W);
  116. BOOL WINAPI Thread32First(HANDLE,LPTHREADENTRY32);
  117. BOOL WINAPI Thread32Next(HANDLE,LPTHREADENTRY32);
  118. BOOL WINAPI Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD);
  119. HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
  120. #ifdef UNICODE
  121. #define LPMODULEENTRY32 LPMODULEENTRY32W
  122. #define LPPROCESSENTRY32 LPPROCESSENTRY32W
  123. #define MODULEENTRY32 MODULEENTRY32W
  124. #define Module32First Module32FirstW
  125. #define Module32Next Module32NextW
  126. #define PMODULEENTRY32 PMODULEENTRY32W
  127. #define PPROCESSENTRY32 PPROCESSENTRY32W
  128. #define PROCESSENTRY32 PROCESSENTRY32W
  129. #define Process32First Process32FirstW
  130. #define Process32Next Process32NextW
  131. #endif /* UNICODE */
  132. #ifdef __cplusplus
  133. }
  134. #endif
  135. #endif /* _TLHELP32_H */
  136.  
  137.