• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

E:/PROJECTS/cvsed/mixed/VIRTUA~1/vmmon/PatchList.h

Go to the documentation of this file.
00001 
00007 #pragma once
00008 #include <bzscmn/datetime.h>
00009 #include <bzscmn/string.h>
00010 #include <vector>
00011 #include <set>
00012 #include "../rpcdispatch/status.h"
00013 #include "../kdclient/patchapi.h"
00014 
00016 enum PatchState
00017 {
00018         PatchPending,
00019         PatchInProgress,
00020         PatchInProgress2,
00021         PatchSuccessful,
00022         PatchFailed,
00023         PatchProcessTerminated,
00024 
00025         UnpatchInProgress,
00026         Unpatched,
00027 
00028         ProtocolMismatch,
00029 };
00030 
00032 class PatchedProcess
00033 {
00034 public:
00035         BazisLib::DateTime StartTime;
00036         BazisLib::DateTime StopTime;
00037         unsigned PID;
00038         PatchState State;
00039         PatchState PreviousState;
00040         bool StillRunning;
00041         BazisLib::String PipeName;
00042 
00043         BazisLib::DateTime PreviousCPUTime;
00044         BazisLib::DateTime PreviousSampleTime;
00045         unsigned CpuUsage;
00046         unsigned AvgCpuUsage;
00047 
00048         HANDLE hRemoteThread;
00049 
00050         DWORD idDebuggerProcess;
00051 
00052         BazisLib::String Log;
00053         HANDLE hLogPipe;
00054         bool LogChanged;
00055 
00056         HANDLE hMapping;
00057         KdClientStatus *pStatus;
00058 
00059         unsigned PrevSent;
00060         unsigned PrevRecvd;
00061 
00062         unsigned SendRate;
00063         unsigned RecvRate;
00064 
00065         unsigned MaxSendRate;
00066         unsigned MaxRecvRate;
00067 
00068         unsigned PrevPacketsSent;
00069         unsigned PrevPacketsRecvd;
00070 
00071         unsigned PacketSendRate;
00072         unsigned PacketRecvRate;
00073 
00074         bool SessionNameRetreived;
00075         VMType vmType;
00076 
00077         PatchedProcess()
00078                 : PID(0)
00079                 , StillRunning(false)
00080                 , CpuUsage(-1)
00081                 , AvgCpuUsage(0)
00082                 , hRemoteThread(INVALID_HANDLE_VALUE)
00083                 , idDebuggerProcess(0)
00084                 , hLogPipe(INVALID_HANDLE_VALUE)
00085                 , LogChanged(false)
00086                 , hMapping(INVALID_HANDLE_VALUE)
00087                 , pStatus(NULL)
00088                 , PrevSent(0)
00089                 , PrevRecvd(0)
00090                 , SendRate(0)
00091                 , RecvRate(0)
00092                 , MaxSendRate(0)
00093                 , MaxRecvRate(0)
00094                 , PrevPacketsSent(0)
00095                 , PrevPacketsRecvd(0)
00096                 , PacketSendRate(0)
00097                 , PacketRecvRate(0)
00098                 , SessionNameRetreived(false)
00099                 , vmType(kVMUnknown)
00100         {
00101         }
00102 };
00103 
00104 typedef std::vector<PatchedProcess> PatchedProcessList;
00105 typedef std::set<unsigned> PatchedProcessSet;