#ifndef _PSAPINT_PROCESSMEMORYCOUNTERS_HPP_ #define _PSAPINT_PROCESSMEMORYCOUNTERS_HPP_ #ifndef _PSAPI_H_ #include #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