tdcservice.h
上传用户:wsk323
上传日期:2007-01-05
资源大小:403k
文件大小:2k
源码类别:

Telnet服务器

开发平台:

Visual C++

  1. // tdcservice.h
  2. //
  3. // Definitions for TDCService
  4. //
  5. #ifndef _TDCService_H_
  6. #define _TDCService_H_
  7. //---------------------------------------------------------------------------
  8. #include <vclvcl.h>
  9. #pragma hdrstop
  10. #include "tdcservmsg.h" // Event message ids
  11. #define SERVICE_CONTROL_USER 128
  12. class TDCService
  13. {
  14. public:
  15.     TDCService(const char* szServiceName);
  16.     virtual ~TDCService();
  17.     BOOL ParseStandardArgs(int argc, char* argv[]);
  18.     BOOL IsInstalled();
  19.     BOOL Install();
  20.     BOOL Uninstall();
  21.     void LogEvent(WORD wType, DWORD dwID,
  22.                   const char* pszS1 = NULL,
  23.                   const char* pszS2 = NULL,
  24.                   const char* pszS3 = NULL);
  25.     BOOL StartService();
  26.     void SetStatus(DWORD dwState);
  27.     BOOL Initialize();
  28.     virtual void Run();
  29. virtual BOOL OnInit();
  30.     virtual void OnStop();
  31.     virtual void OnInterrogate();
  32.     virtual void OnPause();
  33.     virtual void OnContinue();
  34.     virtual void OnShutdown();
  35.     virtual BOOL OnUserControl(DWORD dwOpcode);
  36.     void DebugMsg(const char* pszFormat, ...);
  37.     
  38.     // static member functions
  39.     static void WINAPI ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv);
  40.     static void WINAPI Handler(DWORD dwOpcode);
  41.     // data members
  42.     char m_szServiceName[64];
  43.     int m_iMajorVersion;
  44.     int m_iMinorVersion;
  45.     SERVICE_STATUS_HANDLE m_hServiceStatus;
  46.     SERVICE_STATUS m_Status;
  47.     BOOL m_bIsRunning;
  48.     // static data
  49.     static TDCService* m_pThis; // nasty hack to get object ptr
  50. private:
  51.     HANDLE m_hEventSource;
  52. };
  53. #endif // _NTSERVICE_H_