260 lines
3.9 KiB
C
260 lines
3.9 KiB
C
|
/*++ BUILD Version: 0001 // Increment this if a change has global effects
|
||
|
|
||
|
Copyright (c) 1994-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
psapi.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Include file for APIs provided by PSAPI.DLL
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Richard Shupak [richards] 06-Jan-1994
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _PSAPI_H_
|
||
|
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
|
||
|
#define _PSAPI_H_
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
EnumProcesses(
|
||
|
DWORD * lpidProcess,
|
||
|
DWORD cb,
|
||
|
DWORD * cbNeeded
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
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
|
||
|
);
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define GetModuleBaseName GetModuleBaseNameW
|
||
|
#else
|
||
|
#define GetModuleBaseName GetModuleBaseNameA
|
||
|
#endif // !UNICODE
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
GetModuleFileNameExA(
|
||
|
HANDLE hProcess,
|
||
|
HMODULE hModule,
|
||
|
LPSTR lpFilename,
|
||
|
DWORD nSize
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
GetModuleFileNameExW(
|
||
|
HANDLE hProcess,
|
||
|
HMODULE hModule,
|
||
|
LPWSTR lpFilename,
|
||
|
DWORD nSize
|
||
|
);
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define GetModuleFileNameEx GetModuleFileNameExW
|
||
|
#else
|
||
|
#define GetModuleFileNameEx GetModuleFileNameExA
|
||
|
#endif // !UNICODE
|
||
|
|
||
|
|
||
|
typedef struct _MODULEINFO {
|
||
|
LPVOID lpBaseOfDll;
|
||
|
DWORD SizeOfImage;
|
||
|
LPVOID EntryPoint;
|
||
|
} MODULEINFO, *LPMODULEINFO;
|
||
|
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
GetModuleInformation(
|
||
|
HANDLE hProcess,
|
||
|
HMODULE hModule,
|
||
|
LPMODULEINFO lpmodinfo,
|
||
|
DWORD cb
|
||
|
);
|
||
|
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
EmptyWorkingSet(
|
||
|
HANDLE hProcess
|
||
|
);
|
||
|
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
QueryWorkingSet(
|
||
|
HANDLE hProcess,
|
||
|
PVOID pv,
|
||
|
DWORD cb
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
InitializeProcessForWsWatch(
|
||
|
HANDLE hProcess
|
||
|
);
|
||
|
|
||
|
|
||
|
typedef struct _PSAPI_WS_WATCH_INFORMATION {
|
||
|
LPVOID FaultingPc;
|
||
|
LPVOID FaultingVa;
|
||
|
} PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION;
|
||
|
|
||
|
BOOL
|
||
|
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
|
||
|
);
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define GetMappedFileName GetMappedFileNameW
|
||
|
#else
|
||
|
#define GetMappedFileName GetMappedFileNameA
|
||
|
#endif // !UNICODE
|
||
|
|
||
|
BOOL
|
||
|
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
|
||
|
);
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define GetDeviceDriverBaseName GetDeviceDriverBaseNameW
|
||
|
#else
|
||
|
#define GetDeviceDriverBaseName GetDeviceDriverBaseNameA
|
||
|
#endif // !UNICODE
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
GetDeviceDriverFileNameA(
|
||
|
LPVOID ImageBase,
|
||
|
LPSTR lpFilename,
|
||
|
DWORD nSize
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
GetDeviceDriverFileNameW(
|
||
|
LPVOID ImageBase,
|
||
|
LPWSTR lpFilename,
|
||
|
DWORD nSize
|
||
|
);
|
||
|
|
||
|
#ifdef UNICODE
|
||
|
#define GetDeviceDriverFileName GetDeviceDriverFileNameW
|
||
|
#else
|
||
|
#define GetDeviceDriverFileName GetDeviceDriverFileNameA
|
||
|
#endif // !UNICODE
|
||
|
|
||
|
// Structure for GetProcessMemoryInfo()
|
||
|
|
||
|
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;
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
GetProcessMemoryInfo(
|
||
|
HANDLE Process,
|
||
|
PPROCESS_MEMORY_COUNTERS ppsmemCounters,
|
||
|
DWORD cb
|
||
|
);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#pragma option pop /*P_O_Pop*/
|
||
|
#endif
|