BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID reserved) { SetDefaultLogger(&logger); GetDefaultLogger().info("dll main called."); std::stringstream txt; txt << "ICM_RESERVED: " << ICM_RESERVED; GetDefaultLogger().info(txt.str()); txt.str(""); txt << "ICM_USER: "******""); txt << "DRV_USER: " << DRV_USER; GetDefaultLogger().info(txt.str()); hInstance = hinst; return TRUE; }
void* thread_func(void* data = 0) #endif { Thread::ThreadData* thread_data = (Thread::ThreadData*)data; WorkItem* work_item = thread_data->item; void* work_data = thread_data->data; delete thread_data; try { work_item->Run(work_data); } catch(Error::SystemException& e) { GetDefaultLogger()->Error(e.Message()); } catch(...) { GetDefaultLogger()->Error("Unknown error occured in the thread_func"); } delete work_item; return 0; }
LRESULT WINAPI DriverProc( DWORD_PTR dwDriverId, HDRVR hDriver, UINT uMsg, LPARAM lParam1, LPARAM lParam2) { SetDefaultLogger(&logger); Ffv1VfwDriver driver; std::stringstream txt; txt << "driver proc called with message: " << uMsg; GetDefaultLogger().info(txt.str()); return driver.HandleMessage(dwDriverId, hDriver, uMsg, lParam1, lParam2); }