| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
// TimeSyncServer.h : PROJECT_NAME 应用程序的主头文件//#pragma once#ifndef __AFXWIN_H__	#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"#endif#include "resource.h"		// 主符号#include <WinSvc.h>#include <DbgHelp.h>#pragma comment(lib, "dbghelp.lib")extern SERVICE_STATUS m_ServiceStatus;extern SERVICE_STATUS_HANDLE m_ServiceStatusHandle;//函数声明void WINAPI ServiceMain(DWORD argc, LPTSTR *argv);void WINAPI ServiceCtrlHandler(DWORD Opcode);BOOL InstallService(CString &strPath);BOOL DeleteService();class CDumpCatch{public:	CDumpCatch();	~CDumpCatch();private:	static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI TempSetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);	static BOOL ReleaseDumpFile(const std::string& strPath, EXCEPTION_POINTERS* pException);	static LONG WINAPI UnhandledExceptionFilterEx(struct _EXCEPTION_POINTERS* pException);	static void MyPureCallHandler(void);	static void MyInvalidParameterHandler(const wchar_t* expression, const wchar_t* function, const wchar_t* file, unsigned int line, uintptr_t pReserved);	BOOL AddExceptionHandle();	BOOL RemoveExceptionHandle();	BOOL PreventSetUnhandledExceptionFilter();	void SetInvalidHandle();	void UnSetInvalidHandle();private:	LPTOP_LEVEL_EXCEPTION_FILTER m_preFilter;	_invalid_parameter_handler m_preIph;	_purecall_handler m_prePch;};// CTimeSyncServerApp: // 有关此类的实现,请参阅 TimeSyncServer.cpp//class CTimeSyncServerApp : public CWinApp{public:	CTimeSyncServerApp();// 重写public:	virtual BOOL InitInstance();	static void StartTheAppServices(WORD);// 实现	DECLARE_MESSAGE_MAP()};extern CTimeSyncServerApp theApp;
 |