Files
Work/psapint/memcnt.hpp
2024-08-07 09:16:27 -04:00

182 lines
4.5 KiB
C++

#ifndef _PSAPINT_PROCESSMEMORYCOUNTERS_HPP_
#define _PSAPINT_PROCESSMEMORYCOUNTERS_HPP_
#ifndef _PSAPI_H_
#include <psapi/psapi.h>
#endif
class ProcessMemoryCounters : private PROCESS_MEMORY_COUNTERS
{
public:
ProcessMemoryCounters(void);
virtual ~ProcessMemoryCounters();
DWORD pageFaultCount(void)const;
void pageFaultCount(DWORD pageFaultCount);
DWORD peakWorkingSetSize(void)const;
void peakWorkingSetSize(DWORD peakWorkingSetSize);
DWORD workingSetSize(void)const;
void workingSetSize(DWORD workingSetSize);
DWORD quotaPeakPagedPoolUsage(void)const;
void quotaPeakPagedPoolUsage(DWORD quotaPeakPagedPoolUsage);
DWORD quotaPagedPoolUsage(void)const;
void quotaPagedPoolUsage(DWORD quotaPagedPoolUsage);
DWORD quotaPeakedNonPagedPoolUsage(void)const;
void quotaPeakedNonPagedPoolUsage(DWORD quotaPeakedNonPagedPoolUsage);
DWORD quotaNonPagedPoolUsage(void)const;
void quotaNonPagedPoolUsage(DWORD quotaNonPagedPoolUsage);
DWORD pageFileUsage(void)const;
void pageFileUsage(DWORD pageFileUsage);
DWORD peakPageFileUsage(void)const;
void peakPageFileUsage(DWORD peakPageFileUsage);
PROCESS_MEMORY_COUNTERS &getPROCESSMEMORYCOUNTERS(void);
static DWORD size(void);
private:
void zeroInit(void);
};
inline
ProcessMemoryCounters::ProcessMemoryCounters(void)
{
zeroInit();
}
inline
ProcessMemoryCounters::~ProcessMemoryCounters()
{
}
inline
DWORD ProcessMemoryCounters::pageFaultCount(void)const
{
return PROCESS_MEMORY_COUNTERS::PageFaultCount;
}
inline
void ProcessMemoryCounters::pageFaultCount(DWORD pageFaultCount)
{
PROCESS_MEMORY_COUNTERS::PageFaultCount=pageFaultCount;
}
inline
DWORD ProcessMemoryCounters::peakWorkingSetSize(void)const
{
return PROCESS_MEMORY_COUNTERS::PeakWorkingSetSize;
}
inline
void ProcessMemoryCounters::peakWorkingSetSize(DWORD peakWorkingSetSize)
{
PROCESS_MEMORY_COUNTERS::PeakWorkingSetSize=peakWorkingSetSize;
}
inline
DWORD ProcessMemoryCounters::workingSetSize(void)const
{
return PROCESS_MEMORY_COUNTERS::WorkingSetSize;
}
inline
void ProcessMemoryCounters::workingSetSize(DWORD workingSetSize)
{
PROCESS_MEMORY_COUNTERS::WorkingSetSize=workingSetSize;
}
inline
DWORD ProcessMemoryCounters::quotaPeakPagedPoolUsage(void)const
{
return PROCESS_MEMORY_COUNTERS::QuotaPeakPagedPoolUsage;
}
inline
void ProcessMemoryCounters::quotaPeakPagedPoolUsage(DWORD quotaPeakPagedPoolUsage)
{
PROCESS_MEMORY_COUNTERS::QuotaPeakPagedPoolUsage=quotaPeakPagedPoolUsage;
}
inline
DWORD ProcessMemoryCounters::quotaPagedPoolUsage(void)const
{
return PROCESS_MEMORY_COUNTERS::QuotaPagedPoolUsage;
}
inline
void ProcessMemoryCounters::quotaPagedPoolUsage(DWORD quotaPagedPoolUsage)
{
PROCESS_MEMORY_COUNTERS::QuotaPagedPoolUsage=quotaPagedPoolUsage;
}
inline
DWORD ProcessMemoryCounters::quotaPeakedNonPagedPoolUsage(void)const
{
return PROCESS_MEMORY_COUNTERS::QuotaPeakNonPagedPoolUsage;
}
inline
void ProcessMemoryCounters::quotaPeakedNonPagedPoolUsage(DWORD quotaPeakedNonPagedPoolUsage)
{
PROCESS_MEMORY_COUNTERS::QuotaPeakNonPagedPoolUsage=quotaPeakedNonPagedPoolUsage;
}
inline
DWORD ProcessMemoryCounters::quotaNonPagedPoolUsage(void)const
{
return PROCESS_MEMORY_COUNTERS::QuotaNonPagedPoolUsage;
}
inline
void ProcessMemoryCounters::quotaNonPagedPoolUsage(DWORD quotaNonPagedPoolUsage)
{
PROCESS_MEMORY_COUNTERS::QuotaNonPagedPoolUsage=quotaNonPagedPoolUsage;
}
inline
DWORD ProcessMemoryCounters::pageFileUsage(void)const
{
return PROCESS_MEMORY_COUNTERS::PagefileUsage;
}
inline
void ProcessMemoryCounters::pageFileUsage(DWORD pageFileUsage)
{
PROCESS_MEMORY_COUNTERS::PagefileUsage=pageFileUsage;
}
inline
DWORD ProcessMemoryCounters::peakPageFileUsage(void)const
{
return PROCESS_MEMORY_COUNTERS::PeakPagefileUsage;
}
inline
void ProcessMemoryCounters::peakPageFileUsage(DWORD peakPageFileUsage)
{
PROCESS_MEMORY_COUNTERS::PeakPagefileUsage;
}
inline
void ProcessMemoryCounters::zeroInit(void)
{
PROCESS_MEMORY_COUNTERS::cb=size();
PROCESS_MEMORY_COUNTERS::PageFaultCount=0;
PROCESS_MEMORY_COUNTERS::PeakWorkingSetSize=0;
PROCESS_MEMORY_COUNTERS::WorkingSetSize=0;
PROCESS_MEMORY_COUNTERS::QuotaPeakPagedPoolUsage=0;
PROCESS_MEMORY_COUNTERS::QuotaPagedPoolUsage=0;
PROCESS_MEMORY_COUNTERS::QuotaPeakNonPagedPoolUsage=0;
PROCESS_MEMORY_COUNTERS::QuotaNonPagedPoolUsage=0;
PROCESS_MEMORY_COUNTERS::PagefileUsage=0;
PROCESS_MEMORY_COUNTERS::PeakPagefileUsage=0;
}
inline
PROCESS_MEMORY_COUNTERS &ProcessMemoryCounters::getPROCESSMEMORYCOUNTERS(void)
{
return *this;
}
inline
DWORD ProcessMemoryCounters::size(void)
{
return sizeof(PROCESS_MEMORY_COUNTERS);
}
#endif