63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
|
// stdafx.h : include file for standard system include files,
|
||
|
// or project specific include files that are used frequently,
|
||
|
// but are changed infrequently
|
||
|
|
||
|
#if !defined(AFX_STDAFX_H__131CC295_7634_11D1_8B6B_0060089BD8C4__INCLUDED_)
|
||
|
#define AFX_STDAFX_H__131CC295_7634_11D1_8B6B_0060089BD8C4__INCLUDED_
|
||
|
|
||
|
#if _MSC_VER >= 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER >= 1000
|
||
|
|
||
|
#define STRICT
|
||
|
|
||
|
#if !defined(_WIN32_WINNT) || (defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0400))
|
||
|
#define _WIN32_WINNT 0x0400
|
||
|
#endif
|
||
|
#define _ATL_APARTMENT_THREADED
|
||
|
|
||
|
|
||
|
#include <atlbase.h>
|
||
|
//You may derive a class from CComModule and use it if you want to override
|
||
|
//something, but do not change the name of _Module
|
||
|
|
||
|
class CServiceModule : public CComModule
|
||
|
{
|
||
|
public:
|
||
|
HRESULT RegisterServer(BOOL bRegTypeLib, BOOL bService);
|
||
|
HRESULT UnregisterServer();
|
||
|
void Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE h, UINT nServiceNameID);
|
||
|
void Start();
|
||
|
void ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv);
|
||
|
void Handler(DWORD dwOpcode);
|
||
|
void Run();
|
||
|
BOOL IsInstalled();
|
||
|
BOOL Install();
|
||
|
BOOL Uninstall();
|
||
|
LONG Unlock();
|
||
|
void LogEvent(LPCTSTR pszFormat, ...);
|
||
|
void SetServiceStatus(DWORD dwState);
|
||
|
void SetupAsLocalServer();
|
||
|
|
||
|
//Implementation
|
||
|
private:
|
||
|
static void WINAPI _ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv);
|
||
|
static void WINAPI _Handler(DWORD dwOpcode);
|
||
|
|
||
|
// data members
|
||
|
public:
|
||
|
TCHAR m_szServiceName[256];
|
||
|
SERVICE_STATUS_HANDLE m_hServiceStatus;
|
||
|
SERVICE_STATUS m_status;
|
||
|
DWORD dwThreadID;
|
||
|
BOOL m_bService;
|
||
|
};
|
||
|
|
||
|
extern CServiceModule _Module;
|
||
|
#include <atlcom.h>
|
||
|
|
||
|
//{{AFX_INSERT_LOCATION}}
|
||
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
||
|
|
||
|
#endif // !defined(AFX_STDAFX_H__131CC295_7634_11D1_8B6B_0060089BD8C4__INCLUDED)
|