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: