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

Public Member Functions | |
| ProcessInfoTimes () | |
| virtual bool | GetData (vecuc &vData, DWORD dwPid, ProcessData *pProcessData) |
![]()
|
|
Definition at line 38 of file ProcessInfo.h.
00039 : 00040 ProcessInfoBase() 00041 {} |
![]()
|
||||||||||||||||
|
Implements CitadelSoftwareInc::ProcessInfoBase. Definition at line 72 of file ProcessInfo.cpp. References CitadelSoftwareInc::AddBinaryData(), CitadelSoftwareInc::AddFileTimeData2(), CitadelSoftwareInc::ProcessData::m_ftKernelTime, CitadelSoftwareInc::ProcessData::m_ftUserTime, and CitadelSoftwareInc::vecuc. Referenced by CitadelSoftwareInc::AddProcessData().
00075 {
00076 HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwPid);
00077
00078 if (hProcess == NULL)
00079 return false;
00080
00081 FILETIME createTime;
00082 FILETIME exitTime;
00083 FILETIME kernelTime;
00084 FILETIME userTime;
00085
00086 BOOL bStatus = GetProcessTimes(hProcess, &createTime, &exitTime, &kernelTime, &userTime);
00087
00088 if (bStatus)
00089 {
00090 if (pProcessData)
00091 {
00092 AddFileTimeData2(vData, kernelTime, pProcessData->m_ftKernelTime);
00093 AddFileTimeData2(vData, userTime, pProcessData->m_ftUserTime);
00094 pProcessData->m_ftKernelTime = kernelTime;
00095 pProcessData->m_ftUserTime = userTime;
00096 }
00097 else
00098 {
00099 const unsigned char* pData = (unsigned char*)&kernelTime;
00100 DWORD dwSize = sizeof(FILETIME);
00101 AddBinaryData(vData, pData, dwSize);
00102 pData = (unsigned char*)&userTime;
00103 AddBinaryData(vData, pData, dwSize);
00104 }
00105 }
00106
00107 CloseHandle(hProcess);
00108
00109 return true;
00110 }
|
![]()
ProcessInfo.h| ProcessInfo.cpp | |
![]()
![]()
1.3.5