RegistryMonitor::~RegistryMonitor(void) { stop(); if(isDriverInstalled()) { driverInstalled = false; CloseHandle(hDriver); } CloseHandle(hMonitorStoppedEvent); }
void FileMonitor::start() { if(!isMonitorRunning() && isDriverInstalled()) { fileEvents = (BYTE*)malloc(FILE_EVENTS_BUFFER_SIZE); fileMonitorThread = new Thread(this); fileMonitorThread->start("FileMonitor"); } }
void RegistryMonitor::start() { if(!isMonitorRunning() && isDriverInstalled()) { registryEventsBuffer = (BYTE*)malloc(REGISTRY_EVENTS_BUFFER_SIZE); registryMonitorThread = new Thread(this); registryMonitorThread->start("RegistryMonitor"); } }
FileMonitor::~FileMonitor(void) { stop(); if(isDriverInstalled()) { driverInstalled = false; CloseHandle(communicationPort); FilterUnload(L"CaptureFileMonitor"); } CloseHandle(hMonitorStoppedEvent); }
void FileMonitor::stop() { if(isMonitorRunning() && isDriverInstalled()) { monitorRunning = false; WaitForSingleObject(hMonitorStoppedEvent, 1000); fileMonitorThread->stop(); delete fileMonitorThread; free(fileEvents); } }
void RegistryMonitor::stop() { if(isMonitorRunning() && isDriverInstalled()) { monitorRunning = false; WaitForSingleObject(hMonitorStoppedEvent, 1000); registryMonitorThread->stop(); delete registryMonitorThread; free(registryEventsBuffer); } }
void NetworkPacketDumper::stop() { if(isMonitorRunning() && isDriverInstalled()) { std::list<NetworkAdapter*>::iterator it; for(it = adapterList.begin(); it != adapterList.end(); it++) { (*it)->stop(); } monitorRunning = false; } }
void NetworkPacketDumper::start() { if(!isMonitorRunning() && isDriverInstalled()) { std::list<NetworkAdapter*>::iterator it; for(it = adapterList.begin(); it != adapterList.end(); it++) { (*it)->start(); LOG(INFO, "Started network dumper"); } monitorRunning = true; } }