Fortuna PRNG C++ Source Code

Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

CitadelSoftwareInc::ProcessInfoTimes Class Reference

#include <ProcessInfo.h>

Inheritance diagram for CitadelSoftwareInc::ProcessInfoTimes:

CitadelSoftwareInc::ProcessInfoBase List of all members.

Public Member Functions

 ProcessInfoTimes ()
virtual bool GetData (vecuc &vData, DWORD dwPid, ProcessData *pProcessData)

Constructor & Destructor Documentation

CitadelSoftwareInc::ProcessInfoTimes::ProcessInfoTimes  )  [inline]
 

Definition at line 38 of file ProcessInfo.h.

00039                         :
00040                 ProcessInfoBase()
00041                 {}

Member Function Documentation

bool CitadelSoftwareInc::ProcessInfoTimes::GetData vecuc vData,
DWORD  dwPid,
ProcessData pProcessData
[virtual]
 

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 }

The documentation for this class was generated from the following files:
bulletProcessInfo.h
bulletProcessInfo.cpp

Generated on Sat Feb 28 17:24:45 2004 for Fortuna by doxygen 1.3.5