#include <ProcessInfo.h>
Inheritance diagram for CitadelSoftwareInc::ProcessInfoMemory:

Public Member Functions | |
| ProcessInfoMemory () | |
| virtual bool | GetData (vecuc &vData, DWORD dwPid, ProcessData *pProcessData) |
![]()
|
|
Definition at line 52 of file ProcessInfo.h.
00053 : 00054 ProcessInfoBase() 00055 {} |
![]()
|
||||||||||||||||
|
Implements CitadelSoftwareInc::ProcessInfoBase. Definition at line 116 of file ProcessInfo.cpp. References CitadelSoftwareInc::AddBinaryData2(), CitadelSoftwareInc::AddBinaryData3(), CitadelSoftwareInc::ProcessData::m_memorycounters, CitadelSoftwareInc::ProcessData::m_workingsetsize, and CitadelSoftwareInc::vecuc. Referenced by CitadelSoftwareInc::AddProcessData().
00119 {
00120 HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwPid);
00121
00122 if (hProcess == NULL)
00123 return false;
00124
00125 PROCESS_MEMORY_COUNTERS memorycounters;
00126 memset(&memorycounters, 0, sizeof(PROCESS_MEMORY_COUNTERS));
00127 memorycounters.cb = sizeof(PROCESS_MEMORY_COUNTERS);
00128 BOOL bStatus = GetProcessMemoryInfo(hProcess, &memorycounters, sizeof(PROCESS_MEMORY_COUNTERS));
00129
00130 if (bStatus)
00131 {
00132 const unsigned char* pData = (unsigned char*)&memorycounters;
00133 const unsigned char* pOldData = pProcessData ? (unsigned char*)&(pProcessData->m_memorycounters) : NULL;
00134
00135 if (pProcessData)
00136 {
00137 AddBinaryData2(vData, pData, sizeof(PROCESS_MEMORY_COUNTERS), pOldData);
00138 pProcessData->m_memorycounters = memorycounters;
00139 pProcessData->m_workingsetsize = memorycounters.WorkingSetSize;
00140 }
00141 else
00142 {
00143 DWORD dwSize = sizeof(PROCESS_MEMORY_COUNTERS);
00144 AddBinaryData3(vData, pData, dwSize);
00145 }
00146 }
00147
00148 CloseHandle(hProcess);
00149
00150 return true;
00151 }
|
![]()
ProcessInfo.h| ProcessInfo.cpp | |
![]()
![]()
1.3.5