home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / psapi.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  4KB  |  260 lines

  1. /*++ BUILD Version: 0001    // Increment this if a change has global effects
  2.  
  3. Copyright (c) 1994-1999  Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     psapi.h
  8.  
  9. Abstract:
  10.  
  11.     Include file for APIs provided by PSAPI.DLL
  12.  
  13. Author:
  14.  
  15.     Richard Shupak   [richards]  06-Jan-1994
  16.  
  17. Revision History:
  18.  
  19. --*/
  20.  
  21. #ifndef _PSAPI_H_
  22. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  23. #define _PSAPI_H_
  24.  
  25. #if _MSC_VER > 1000
  26. #pragma once
  27. #endif
  28.  
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32.  
  33. BOOL
  34. WINAPI
  35. EnumProcesses(
  36.     DWORD * lpidProcess,
  37.     DWORD   cb,
  38.     DWORD * cbNeeded
  39.     );
  40.  
  41. BOOL
  42. WINAPI
  43. EnumProcessModules(
  44.     HANDLE hProcess,
  45.     HMODULE *lphModule,
  46.     DWORD cb,
  47.     LPDWORD lpcbNeeded
  48.     );
  49.  
  50. DWORD
  51. WINAPI
  52. GetModuleBaseNameA(
  53.     HANDLE hProcess,
  54.     HMODULE hModule,
  55.     LPSTR lpBaseName,
  56.     DWORD nSize
  57.     );
  58.  
  59. DWORD
  60. WINAPI
  61. GetModuleBaseNameW(
  62.     HANDLE hProcess,
  63.     HMODULE hModule,
  64.     LPWSTR lpBaseName,
  65.     DWORD nSize
  66.     );
  67.  
  68. #ifdef UNICODE
  69. #define GetModuleBaseName  GetModuleBaseNameW
  70. #else
  71. #define GetModuleBaseName  GetModuleBaseNameA
  72. #endif // !UNICODE
  73.  
  74.  
  75. DWORD
  76. WINAPI
  77. GetModuleFileNameExA(
  78.     HANDLE hProcess,
  79.     HMODULE hModule,
  80.     LPSTR lpFilename,
  81.     DWORD nSize
  82.     );
  83.  
  84. DWORD
  85. WINAPI
  86. GetModuleFileNameExW(
  87.     HANDLE hProcess,
  88.     HMODULE hModule,
  89.     LPWSTR lpFilename,
  90.     DWORD nSize
  91.     );
  92.  
  93. #ifdef UNICODE
  94. #define GetModuleFileNameEx  GetModuleFileNameExW
  95. #else
  96. #define GetModuleFileNameEx  GetModuleFileNameExA
  97. #endif // !UNICODE
  98.  
  99.  
  100. typedef struct _MODULEINFO {
  101.     LPVOID lpBaseOfDll;
  102.     DWORD SizeOfImage;
  103.     LPVOID EntryPoint;
  104. } MODULEINFO, *LPMODULEINFO;
  105.  
  106.  
  107. BOOL
  108. WINAPI
  109. GetModuleInformation(
  110.     HANDLE hProcess,
  111.     HMODULE hModule,
  112.     LPMODULEINFO lpmodinfo,
  113.     DWORD cb
  114.     );
  115.  
  116.  
  117. BOOL
  118. WINAPI
  119. EmptyWorkingSet(
  120.     HANDLE hProcess
  121.     );
  122.  
  123.  
  124. BOOL
  125. WINAPI
  126. QueryWorkingSet(
  127.     HANDLE hProcess,
  128.     PVOID pv,
  129.     DWORD cb
  130.     );
  131.  
  132. BOOL
  133. WINAPI
  134. InitializeProcessForWsWatch(
  135.     HANDLE hProcess
  136.     );
  137.  
  138.  
  139. typedef struct _PSAPI_WS_WATCH_INFORMATION {
  140.     LPVOID FaultingPc;
  141.     LPVOID FaultingVa;
  142. } PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION;
  143.  
  144. BOOL
  145. WINAPI
  146. GetWsChanges(
  147.     HANDLE hProcess,
  148.     PPSAPI_WS_WATCH_INFORMATION lpWatchInfo,
  149.     DWORD cb
  150.     );
  151.  
  152. DWORD
  153. WINAPI
  154. GetMappedFileNameW(
  155.     HANDLE hProcess,
  156.     LPVOID lpv,
  157.     LPWSTR lpFilename,
  158.     DWORD nSize
  159.     );
  160.  
  161. DWORD
  162. WINAPI
  163. GetMappedFileNameA(
  164.     HANDLE hProcess,
  165.     LPVOID lpv,
  166.     LPSTR lpFilename,
  167.     DWORD nSize
  168.     );
  169.  
  170. #ifdef UNICODE
  171. #define GetMappedFileName  GetMappedFileNameW
  172. #else
  173. #define GetMappedFileName  GetMappedFileNameA
  174. #endif // !UNICODE
  175.  
  176. BOOL
  177. WINAPI
  178. EnumDeviceDrivers(
  179.     LPVOID *lpImageBase,
  180.     DWORD cb,
  181.     LPDWORD lpcbNeeded
  182.     );
  183.  
  184.  
  185. DWORD
  186. WINAPI
  187. GetDeviceDriverBaseNameA(
  188.     LPVOID ImageBase,
  189.     LPSTR lpBaseName,
  190.     DWORD nSize
  191.     );
  192.  
  193. DWORD
  194. WINAPI
  195. GetDeviceDriverBaseNameW(
  196.     LPVOID ImageBase,
  197.     LPWSTR lpBaseName,
  198.     DWORD nSize
  199.     );
  200.  
  201. #ifdef UNICODE
  202. #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameW
  203. #else
  204. #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameA
  205. #endif // !UNICODE
  206.  
  207.  
  208. DWORD
  209. WINAPI
  210. GetDeviceDriverFileNameA(
  211.     LPVOID ImageBase,
  212.     LPSTR lpFilename,
  213.     DWORD nSize
  214.     );
  215.  
  216. DWORD
  217. WINAPI
  218. GetDeviceDriverFileNameW(
  219.     LPVOID ImageBase,
  220.     LPWSTR lpFilename,
  221.     DWORD nSize
  222.     );
  223.  
  224. #ifdef UNICODE
  225. #define GetDeviceDriverFileName  GetDeviceDriverFileNameW
  226. #else
  227. #define GetDeviceDriverFileName  GetDeviceDriverFileNameA
  228. #endif // !UNICODE
  229.  
  230. // Structure for GetProcessMemoryInfo()
  231.  
  232. typedef struct _PROCESS_MEMORY_COUNTERS {
  233.     DWORD cb;
  234.     DWORD PageFaultCount;
  235.     SIZE_T PeakWorkingSetSize;
  236.     SIZE_T WorkingSetSize;
  237.     SIZE_T QuotaPeakPagedPoolUsage;
  238.     SIZE_T QuotaPagedPoolUsage;
  239.     SIZE_T QuotaPeakNonPagedPoolUsage;
  240.     SIZE_T QuotaNonPagedPoolUsage;
  241.     SIZE_T PagefileUsage;
  242.     SIZE_T PeakPagefileUsage;
  243. } PROCESS_MEMORY_COUNTERS;
  244. typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;
  245.  
  246. BOOL
  247. WINAPI
  248. GetProcessMemoryInfo(
  249.     HANDLE Process,
  250.     PPROCESS_MEMORY_COUNTERS ppsmemCounters,
  251.     DWORD cb
  252.     );
  253.  
  254. #ifdef __cplusplus
  255. }
  256. #endif
  257.  
  258. #pragma option pop /*P_O_Pop*/
  259. #endif
  260.