/****************************************************************************** Copyright (c) 2000 Microsoft Corporation Module Name: module.h Abstract: This file contains the declaration of the CComModule extension for the service. Revision History: Davide Massarenti (Dmassare) 03/14/2000 created ******************************************************************************/ #if !defined(__INCLUDED___PCH___MODULE_H___) #define __INCLUDED___PCH___MODULE_H___ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define STRICT #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0400 #endif #include class CServiceModule : public CComModule { HANDLE m_hEventShutdown; DWORD m_dwThreadID; HANDLE m_hMonitor; BOOL m_bActivity; LPCWSTR m_szServiceName; UINT m_iDisplayName; UINT m_iDescription; SERVICE_STATUS_HANDLE m_hServiceStatus; SERVICE_STATUS m_status; BOOL m_bService; public: CServiceModule(); virtual ~CServiceModule(); HRESULT RegisterServer ( BOOL bRegTypeLib, BOOL bService, LPCWSTR szSvcHostGroup ); HRESULT UnregisterServer( LPCWSTR szSvcHostGroup ); void Init( _ATL_OBJMAP_ENTRY* p, HINSTANCE h, LPCWSTR szServiceName, UINT iDisplayName, UINT iDescription, const GUID* plibid = NULL ); BOOL Start( BOOL bService ); HRESULT Run ( ); BOOL IsInstalled( ); BOOL Install ( LPCWSTR szSvcHostGroup ); BOOL Uninstall ( LPCWSTR szSvcHostGroup ); LONG Lock ( ); LONG Unlock ( ); void ServiceMain ( DWORD dwArgc, LPWSTR* lpszArgv ); void Handler ( DWORD dwOpcode ); void SetServiceStatus( DWORD dwState ); #ifdef DEBUG static void ReadDebugSettings(); #endif void ForceShutdown(); //Implementation private: void MonitorShutdown(); BOOL StartMonitor (); static void WINAPI _ServiceMain( DWORD dwArgc, LPWSTR* lpszArgv ); static void WINAPI _Handler ( DWORD dwOpcode ); static DWORD WINAPI _Monitor ( void* pv ); }; extern CServiceModule _Module; #include #include #include #include #include #include extern MPC::NTEvent g_NTEvents; extern MPC::FileLog g_ApplicationLog; #endif // !defined(__INCLUDED___PCH___MODULE_H___)