www.pudn.com > MailSoftware.rar > Ntservice.h
// ntservice.h // // Definitions for CNTService // #include#include #ifndef _NTSERVICE_H_ #define _NTSERVICE_H_ #include "ntservmsg.h" // Event message ids #define SERVICE_CONTROL_USER 128 class CNTService { public: CNTService(const char* szServiceName); virtual ~CNTService(); BOOL ParseStandardArgs(int argc, char* argv[]); BOOL IsInstalled(); BOOL Install(); BOOL Uninstall(); void LogEvent(WORD wType, DWORD dwID, const char* pszS1 = NULL, const char* pszS2 = NULL, const char* pszS3 = NULL); BOOL StartService(); void SetStatus(DWORD dwState); BOOL Initialize(); virtual void Run(); virtual BOOL OnInit(); virtual void OnStop(); virtual void OnInterrogate(); virtual void OnPause(); virtual void OnContinue(); virtual void OnShutdown(); virtual BOOL OnUserControl(DWORD dwOpcode); void DebugMsg(const char* pszFormat, ...); // static member functions static void WINAPI ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv); static void WINAPI Handler(DWORD dwOpcode); // data members char m_szServiceName[64]; int m_iMajorVersion; int m_iMinorVersion; SERVICE_STATUS_HANDLE m_hServiceStatus; SERVICE_STATUS m_Status; BOOL m_bIsRunning; // static data static CNTService* m_pThis; // nasty hack to get object ptr private: HANDLE m_hEventSource; }; #endif // _NTSERVICE_H_