Fortuna PRNG C++ Source Code

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

CitadelSoftwareInc::ProcessInfoMemory Class Reference

#include <ProcessInfo.h>

Inheritance diagram for CitadelSoftwareInc::ProcessInfoMemory:

CitadelSoftwareInc::ProcessInfoBase List of all members.

Public Member Functions

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

Constructor & Destructor Documentation

CitadelSoftwareInc::ProcessInfoMemory::ProcessInfoMemory  )  [inline]
 

Definition at line 52 of file ProcessInfo.h.

00053                         :
00054                 ProcessInfoBase()
00055                 {}

Member Function Documentation

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

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 }

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