Annotation of win32/psapi/psapi.h, revision 1.1
1.1 ! paf 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: typedef struct _PERFORMACE_INFORMATION {
! 254: DWORD cb;
! 255: SIZE_T CommitTotal;
! 256: SIZE_T CommitLimit;
! 257: SIZE_T CommitPeak;
! 258: SIZE_T PhysicalTotal;
! 259: SIZE_T PhysicalAvailable;
! 260: SIZE_T SystemCache;
! 261: SIZE_T KernelTotal;
! 262: SIZE_T KernelPaged;
! 263: SIZE_T KernelNonpaged;
! 264: SIZE_T PageSize;
! 265: DWORD HandleCount;
! 266: DWORD ProcessCount;
! 267: DWORD ThreadCount;
! 268: } PERFORMACE_INFORMATION, *PPERFORMACE_INFORMATION;
! 269:
! 270: BOOL
! 271: WINAPI
! 272: GetPerformanceInfo (
! 273: PPERFORMACE_INFORMATION pPerformanceInformation,
! 274: DWORD cb
! 275: );
! 276:
! 277: typedef struct _ENUM_PAGE_FILE_INFORMATION {
! 278: DWORD cb;
! 279: DWORD Reserved;
! 280: SIZE_T TotalSize;
! 281: SIZE_T TotalInUse;
! 282: SIZE_T PeakUsage;
! 283: } ENUM_PAGE_FILE_INFORMATION, *PENUM_PAGE_FILE_INFORMATION;
! 284:
! 285: typedef BOOL (*PENUM_PAGE_FILE_CALLBACKW) (LPVOID pContext, PENUM_PAGE_FILE_INFORMATION pPageFileInfo, LPCWSTR lpFilename);
! 286:
! 287: typedef BOOL (*PENUM_PAGE_FILE_CALLBACKA) (LPVOID pContext, PENUM_PAGE_FILE_INFORMATION pPageFileInfo, LPCSTR lpFilename);
! 288:
! 289: BOOL
! 290: WINAPI
! 291: EnumPageFilesW (
! 292: PENUM_PAGE_FILE_CALLBACKW pCallBackRoutine,
! 293: LPVOID pContext
! 294: );
! 295:
! 296: BOOL
! 297: WINAPI
! 298: EnumPageFilesA (
! 299: PENUM_PAGE_FILE_CALLBACKA pCallBackRoutine,
! 300: LPVOID pContext
! 301: );
! 302:
! 303: #ifdef UNICODE
! 304: #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKW
! 305: #define EnumPageFiles EnumPageFilesW
! 306: #else
! 307: #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKA
! 308: #define EnumPageFiles EnumPageFilesA
! 309: #endif // !UNICODE
! 310:
! 311: DWORD
! 312: WINAPI
! 313: GetProcessImageFileNameA(
! 314: HANDLE hProcess,
! 315: LPSTR lpImageFileName,
! 316: DWORD nSize
! 317: );
! 318:
! 319: DWORD
! 320: WINAPI
! 321: GetProcessImageFileNameW(
! 322: HANDLE hProcess,
! 323: LPWSTR lpImageFileName,
! 324: DWORD nSize
! 325: );
! 326:
! 327: #ifdef UNICODE
! 328: #define GetProcessImageFileName GetProcessImageFileNameW
! 329: #else
! 330: #define GetProcessImageFileName GetProcessImageFileNameA
! 331: #endif // !UNICODE
! 332:
! 333: #ifdef __cplusplus
! 334: }
! 335: #endif
! 336:
! 337: #endif
E-mail: