class CReporter { private: public: CReporter(LPCWSTR path, fpCallBack cb); ~CReporter(); WCHAR log_path_[MAX_PATH]; PVOID reports_; DWORD reports_size_; HANDLE report_event_; HANDLE completion_; DWORD log_type_; fpCallBack cb_; BOOL threadStop_; BOOL Init(); void Cleanup(); ULONG GetLog(); ULONG ReadParam(PREPORT_DESC report); VOID SetLogType(DWORD logtype); wstring GetStateString(ULONG type); wstring GetCodeString(ULONG code); wstring GetDevicePolicyString(ULONG type); //VOID GetNetworkFilePath(PWCHAR pOrgFilePath, PWCHAR pOutFilePath); wstring GetNetworkFilePath(const wstring& orgFilePath); VOID Runner(); }; static void Run(void* p);