Fortuna PRNG C++ Source Code

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

CitadelSoftwareInc::ProcessInfoPerformance Class Reference

#include <ProcessInfo.h>

Inheritance diagram for CitadelSoftwareInc::ProcessInfoPerformance:

CitadelSoftwareInc::ProcessInfoBase List of all members.

Public Member Functions

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

Constructor & Destructor Documentation

CitadelSoftwareInc::ProcessInfoPerformance::ProcessInfoPerformance  )  [inline]
 

Definition at line 66 of file ProcessInfo.h.

00067                         :
00068                 ProcessInfoBase()
00069                 {}

Member Function Documentation

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

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 }

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

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