home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 October / PCWorld_1999-10_cd1.bin / Hardware / Drivers / APISpy / Psapi.h < prev    next >
C/C++ Source or Header  |  1999-04-02  |  4KB  |  258 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. #define _PSAPI_H_
  23.  
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif
  27.  
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31.  
  32. BOOL
  33. WINAPI
  34. EnumProcesses(
  35.     DWORD * lpidProcess,
  36.     DWORD   cb,
  37.     DWORD * cbNeeded
  38.     );
  39.  
  40. BOOL
  41. WINAPI
  42. EnumProcessModules(
  43.     HANDLE hProcess,
  44.     HMODULE *lphModule,
  45.     DWORD cb,
  46.     LPDWORD lpcbNeeded
  47.     );
  48.  
  49. DWORD
  50. WINAPI
  51. GetModuleBaseNameA(
  52.     HANDLE hProcess,
  53.     HMODULE hModule,
  54.     LPSTR lpBaseName,
  55.     DWORD nSize
  56.     );
  57.  
  58. DWORD
  59. WINAPI
  60. GetModuleBaseNameW(
  61.     HANDLE hProcess,
  62.     HMODULE hModule,
  63.     LPWSTR lpBaseName,
  64.     DWORD nSize
  65.     );
  66.  
  67. #ifdef UNICODE
  68. #define GetModuleBaseName  GetModuleBaseNameW
  69. #else
  70. #define GetModuleBaseName  GetModuleBaseNameA
  71. #endif // !UNICODE
  72.  
  73.  
  74. DWORD
  75. WINAPI
  76. GetModuleFileNameExA(
  77.     HANDLE hProcess,
  78.     HMODULE hModule,
  79.     LPSTR lpFilename,
  80.     DWORD nSize
  81.     );
  82.  
  83. DWORD
  84. WINAPI
  85. GetModuleFileNameExW(
  86.     HANDLE hProcess,
  87.     HMODULE hModule,
  88.     LPWSTR lpFilename,
  89.     DWORD nSize
  90.     );
  91.  
  92. #ifdef UNICODE
  93. #define GetModuleFileNameEx  GetModuleFileNameExW
  94. #else
  95. #define GetModuleFileNameEx  GetModuleFileNameExA
  96. #endif // !UNICODE
  97.  
  98.  
  99. typedef struct _MODULEINFO {
  100.     LPVOID lpBaseOfDll;
  101.     DWORD SizeOfImage;
  102.     LPVOID EntryPoint;
  103. } MODULEINFO, *LPMODULEINFO;
  104.  
  105.  
  106. BOOL
  107. WINAPI
  108. GetModuleInformation(
  109.     HANDLE hProcess,
  110.     HMODULE hModule,
  111.     LPMODULEINFO lpmodinfo,
  112.     DWORD cb
  113.     );
  114.  
  115.  
  116. BOOL
  117. WINAPI
  118. EmptyWorkingSet(
  119.     HANDLE hProcess
  120.     );
  121.  
  122.  
  123. BOOL
  124. WINAPI
  125. QueryWorkingSet(
  126.     HANDLE hProcess,
  127.     PVOID pv,
  128.     DWORD cb
  129.     );
  130.  
  131. BOOL
  132. WINAPI
  133. InitializeProcessForWsWatch(
  134.     HANDLE hProcess
  135.     );
  136.  
  137.  
  138. typedef struct _PSAPI_WS_WATCH_INFORMATION {
  139.     LPVOID FaultingPc;
  140.     LPVOID FaultingVa;
  141. } PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION;
  142.  
  143. BOOL
  144. WINAPI
  145. GetWsChanges(
  146.     HANDLE hProcess,
  147.     PPSAPI_WS_WATCH_INFORMATION lpWatchInfo,
  148.     DWORD cb
  149.     );
  150.  
  151. DWORD
  152. WINAPI
  153. GetMappedFileNameW(
  154.     HANDLE hProcess,
  155.     LPVOID lpv,
  156.     LPWSTR lpFilename,
  157.     DWORD nSize
  158.     );
  159.  
  160. DWORD
  161. WINAPI
  162. GetMappedFileNameA(
  163.     HANDLE hProcess,
  164.     LPVOID lpv,
  165.     LPSTR lpFilename,
  166.     DWORD nSize
  167.     );
  168.  
  169. #ifdef UNICODE
  170. #define GetMappedFileName  GetMappedFileNameW
  171. #else
  172. #define GetMappedFileName  GetMappedFileNameA
  173. #endif // !UNICODE
  174.  
  175. BOOL
  176. WINAPI
  177. EnumDeviceDrivers(
  178.     LPVOID *lpImageBase,
  179.     DWORD cb,
  180.     LPDWORD lpcbNeeded
  181.     );
  182.  
  183.  
  184. DWORD
  185. WINAPI
  186. GetDeviceDriverBaseNameA(
  187.     LPVOID ImageBase,
  188.     LPSTR lpBaseName,
  189.     DWORD nSize
  190.     );
  191.  
  192. DWORD
  193. WINAPI
  194. GetDeviceDriverBaseNameW(
  195.     LPVOID ImageBase,
  196.     LPWSTR lpBaseName,
  197.     DWORD nSize
  198.     );
  199.  
  200. #ifdef UNICODE
  201. #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameW
  202. #else
  203. #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameA
  204. #endif // !UNICODE
  205.  
  206.  
  207. DWORD
  208. WINAPI
  209. GetDeviceDriverFileNameA(
  210.     LPVOID ImageBase,
  211.     LPSTR lpFilename,
  212.     DWORD nSize
  213.     );
  214.  
  215. DWORD
  216. WINAPI
  217. GetDeviceDriverFileNameW(
  218.     LPVOID ImageBase,
  219.     LPWSTR lpFilename,
  220.     DWORD nSize
  221.     );
  222.  
  223. #ifdef UNICODE
  224. #define GetDeviceDriverFileName  GetDeviceDriverFileNameW
  225. #else
  226. #define GetDeviceDriverFileName  GetDeviceDriverFileNameA
  227. #endif // !UNICODE
  228.  
  229. // Structure for GetProcessMemoryInfo()
  230.  
  231. typedef struct _PROCESS_MEMORY_COUNTERS {
  232.     DWORD cb;
  233.     DWORD PageFaultCount;
  234.     SIZE_T PeakWorkingSetSize;
  235.     SIZE_T WorkingSetSize;
  236.     SIZE_T QuotaPeakPagedPoolUsage;
  237.     SIZE_T QuotaPagedPoolUsage;
  238.     SIZE_T QuotaPeakNonPagedPoolUsage;
  239.     SIZE_T QuotaNonPagedPoolUsage;
  240.     SIZE_T PagefileUsage;
  241.     SIZE_T PeakPagefileUsage;
  242. } PROCESS_MEMORY_COUNTERS;
  243. typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;
  244.  
  245. BOOL
  246. WINAPI
  247. GetProcessMemoryInfo(
  248.     HANDLE Process,
  249.     PPROCESS_MEMORY_COUNTERS ppsmemCounters,
  250.     DWORD cb
  251.     );
  252.  
  253. #ifdef __cplusplus
  254. }
  255. #endif
  256.  
  257. #endif
  258.