| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the w64 mingw-runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef _PSAPI_H_ |
| #define _PSAPI_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #ifdef UNICODE |
| #define GetModuleBaseName GetModuleBaseNameW |
| #define GetModuleFileNameEx GetModuleFileNameExW |
| #define GetMappedFileName GetMappedFileNameW |
| #define GetDeviceDriverBaseName GetDeviceDriverBaseNameW |
| #define GetDeviceDriverFileName GetDeviceDriverFileNameW |
| #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKW |
| #define EnumPageFiles EnumPageFilesW |
| #define GetProcessImageFileName GetProcessImageFileNameW |
| #else |
| #define GetModuleBaseName GetModuleBaseNameA |
| #define GetModuleFileNameEx GetModuleFileNameExA |
| #define GetMappedFileName GetMappedFileNameA |
| #define GetDeviceDriverBaseName GetDeviceDriverBaseNameA |
| #define GetDeviceDriverFileName GetDeviceDriverFileNameA |
| #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKA |
| #define EnumPageFiles EnumPageFilesA |
| #define GetProcessImageFileName GetProcessImageFileNameA |
| #endif |
| |
| WINBOOL WINAPI EnumProcesses(DWORD *lpidProcess,DWORD cb,DWORD *cbNeeded); |
| WINBOOL WINAPI EnumProcessModules(HANDLE hProcess,HMODULE *lphModule,DWORD cb,LPDWORD lpcbNeeded); |
| DWORD WINAPI GetModuleBaseNameA(HANDLE hProcess,HMODULE hModule,LPSTR lpBaseName,DWORD nSize); |
| DWORD WINAPI GetModuleBaseNameW(HANDLE hProcess,HMODULE hModule,LPWSTR lpBaseName,DWORD nSize); |
| DWORD WINAPI GetModuleFileNameExA(HANDLE hProcess,HMODULE hModule,LPSTR lpFilename,DWORD nSize); |
| DWORD WINAPI GetModuleFileNameExW(HANDLE hProcess,HMODULE hModule,LPWSTR lpFilename,DWORD nSize); |
| |
| typedef struct _MODULEINFO { |
| LPVOID lpBaseOfDll; |
| DWORD SizeOfImage; |
| LPVOID EntryPoint; |
| } MODULEINFO,*LPMODULEINFO; |
| |
| WINBOOL WINAPI GetModuleInformation(HANDLE hProcess,HMODULE hModule,LPMODULEINFO lpmodinfo,DWORD cb); |
| WINBOOL WINAPI EmptyWorkingSet(HANDLE hProcess); |
| WINBOOL WINAPI QueryWorkingSet(HANDLE hProcess,PVOID pv,DWORD cb); |
| WINBOOL WINAPI QueryWorkingSetEx(HANDLE hProcess,PVOID pv,DWORD cb); |
| WINBOOL WINAPI InitializeProcessForWsWatch(HANDLE hProcess); |
| |
| typedef struct _PSAPI_WS_WATCH_INFORMATION { |
| LPVOID FaultingPc; |
| LPVOID FaultingVa; |
| } PSAPI_WS_WATCH_INFORMATION,*PPSAPI_WS_WATCH_INFORMATION; |
| |
| WINBOOL WINAPI GetWsChanges(HANDLE hProcess,PPSAPI_WS_WATCH_INFORMATION lpWatchInfo,DWORD cb); |
| DWORD WINAPI GetMappedFileNameW(HANDLE hProcess,LPVOID lpv,LPWSTR lpFilename,DWORD nSize); |
| DWORD WINAPI GetMappedFileNameA(HANDLE hProcess,LPVOID lpv,LPSTR lpFilename,DWORD nSize); |
| WINBOOL WINAPI EnumDeviceDrivers(LPVOID *lpImageBase,DWORD cb,LPDWORD lpcbNeeded); |
| DWORD WINAPI GetDeviceDriverBaseNameA(LPVOID ImageBase,LPSTR lpBaseName,DWORD nSize); |
| DWORD WINAPI GetDeviceDriverBaseNameW(LPVOID ImageBase,LPWSTR lpBaseName,DWORD nSize); |
| DWORD WINAPI GetDeviceDriverFileNameA(LPVOID ImageBase,LPSTR lpFilename,DWORD nSize); |
| DWORD WINAPI GetDeviceDriverFileNameW(LPVOID ImageBase,LPWSTR lpFilename,DWORD nSize); |
| |
| typedef struct _PROCESS_MEMORY_COUNTERS { |
| DWORD cb; |
| DWORD PageFaultCount; |
| SIZE_T PeakWorkingSetSize; |
| SIZE_T WorkingSetSize; |
| SIZE_T QuotaPeakPagedPoolUsage; |
| SIZE_T QuotaPagedPoolUsage; |
| SIZE_T QuotaPeakNonPagedPoolUsage; |
| SIZE_T QuotaNonPagedPoolUsage; |
| SIZE_T PagefileUsage; |
| SIZE_T PeakPagefileUsage; |
| } PROCESS_MEMORY_COUNTERS; |
| typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS; |
| |
| typedef struct _PROCESS_MEMORY_COUNTERS_EX { |
| DWORD cb; |
| DWORD PageFaultCount; |
| SIZE_T PeakWorkingSetSize; |
| SIZE_T WorkingSetSize; |
| SIZE_T QuotaPeakPagedPoolUsage; |
| SIZE_T QuotaPagedPoolUsage; |
| SIZE_T QuotaPeakNonPagedPoolUsage; |
| SIZE_T QuotaNonPagedPoolUsage; |
| SIZE_T PagefileUsage; |
| SIZE_T PeakPagefileUsage; |
| SIZE_T PrivateUsage; |
| } PROCESS_MEMORY_COUNTERS_EX; |
| typedef PROCESS_MEMORY_COUNTERS_EX *PPROCESS_MEMORY_COUNTERS_EX; |
| |
| WINBOOL WINAPI GetProcessMemoryInfo(HANDLE Process,PPROCESS_MEMORY_COUNTERS ppsmemCounters,DWORD cb); |
| |
| typedef struct _PERFORMANCE_INFORMATION { |
| DWORD cb; |
| SIZE_T CommitTotal; |
| SIZE_T CommitLimit; |
| SIZE_T CommitPeak; |
| SIZE_T PhysicalTotal; |
| SIZE_T PhysicalAvailable; |
| SIZE_T SystemCache; |
| SIZE_T KernelTotal; |
| SIZE_T KernelPaged; |
| SIZE_T KernelNonpaged; |
| SIZE_T PageSize; |
| DWORD HandleCount; |
| DWORD ProcessCount; |
| DWORD ThreadCount; |
| } PERFORMANCE_INFORMATION,*PPERFORMANCE_INFORMATION,PERFORMACE_INFORMATION,*PPERFORMACE_INFORMATION; |
| |
| WINBOOL WINAPI GetPerformanceInfo (PPERFORMACE_INFORMATION pPerformanceInformation,DWORD cb); |
| |
| typedef struct _ENUM_PAGE_FILE_INFORMATION { |
| DWORD cb; |
| DWORD Reserved; |
| SIZE_T TotalSize; |
| SIZE_T TotalInUse; |
| SIZE_T PeakUsage; |
| } ENUM_PAGE_FILE_INFORMATION,*PENUM_PAGE_FILE_INFORMATION; |
| |
| typedef WINBOOL (*PENUM_PAGE_FILE_CALLBACKW) (LPVOID pContext,PENUM_PAGE_FILE_INFORMATION pPageFileInfo,LPCWSTR lpFilename); |
| typedef WINBOOL (*PENUM_PAGE_FILE_CALLBACKA) (LPVOID pContext,PENUM_PAGE_FILE_INFORMATION pPageFileInfo,LPCSTR lpFilename); |
| |
| WINBOOL WINAPI EnumPageFilesW (PENUM_PAGE_FILE_CALLBACKW pCallBackRoutine,LPVOID pContext); |
| WINBOOL WINAPI EnumPageFilesA (PENUM_PAGE_FILE_CALLBACKA pCallBackRoutine,LPVOID pContext); |
| DWORD WINAPI GetProcessImageFileNameA(HANDLE hProcess,LPSTR lpImageFileName,DWORD nSize); |
| DWORD WINAPI GetProcessImageFileNameW(HANDLE hProcess,LPWSTR lpImageFileName,DWORD nSize); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |