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

Public Member Functions | |
| ProcessInfoPerformance () | |
| virtual bool | GetData (vecuc &vData, DWORD dwPid, ProcessData *pProcessData) |
![]()
|
|
Definition at line 66 of file ProcessInfo.h.
00067 : 00068 ProcessInfoBase() 00069 {} |
![]()
|
||||||||||||||||
|
Implements CitadelSoftwareInc::ProcessInfoBase. Definition at line 157 of file ProcessInfo.cpp. References CitadelSoftwareInc::AddBinaryData2(), CitadelSoftwareInc::AddBinaryData3(), CitadelSoftwareInc::ProcessData::m_perfinfo, and CitadelSoftwareInc::vecuc. Referenced by CitadelSoftwareInc::AddProcessData().
00160 {
00161 HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwPid);
00162
00163 if (hProcess == NULL)
00164 return false;
00165
00166 PERFORMACE_INFORMATION perfinfo;
00167 memset(&perfinfo, 0, sizeof(PERFORMACE_INFORMATION));
00168 perfinfo.cb = sizeof(PERFORMACE_INFORMATION);
00169
00170 //TODO - WINDOWSXPONLY
00171 BOOL bStatus = FALSE; // GetPerformanceInfo(&perfinfo, sizeof(PERFORMACE_INFORMATION));
00172
00173 if (bStatus == TRUE)
00174 {
00175 const unsigned char* pData = (unsigned char*)&perfinfo;
00176 DWORD dwSize = sizeof(PROCESS_MEMORY_COUNTERS);
00177
00178 if (pProcessData)
00179 {
00180 const unsigned char* pOldData = (unsigned char*)&(pProcessData->m_perfinfo);
00181 AddBinaryData2(vData, pData, dwSize, pOldData);
00182 pProcessData->m_perfinfo = perfinfo;
00183 }
00184 else
00185 {
00186 AddBinaryData3(vData, pData, dwSize);
00187 }
00188 }
00189
00190 CloseHandle(hProcess);
00191
00192 return true;
00193 }
|
![]()
ProcessInfo.h| ProcessInfo.cpp | |
![]()
![]()
1.3.5