Here is mine (after I added some to it. The ones in RED are the ones I added. Everything else was added by VC++ 6.0 project generator.
Code:
// 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__470832EA_892F_487D_A270_5735AB3AB775__INCLUDED_)
#define AFX_STDAFX_H__470832EA_892F_487D_A270_5735AB3AB775__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define STRICT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#define _ATL_APARTMENT_THREADED
#include <afxdisp.h>
#include <atlbase.h>
// I added these myself
#include <winsock.h>
#include <sys\types.h>
#include <sys\stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <errno.h>
#include <share.h>
#include <time.h>
#include <string>
#include <vector>
#include <algorithm>
//#include <vector>
#include <list>
#include <fstream>
#include "ctpublic.h"
#include <cstypes.h>
using namespace std;
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
#define VERSION "2.08.04"
class CServiceModule : public CComModule
{
public:
HRESULT RegisterServer(BOOL bRegTypeLib, BOOL bService);
HRESULT UnregisterServer();
void Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE h, UINT nServiceNameID, const GUID* plibid = NULL);
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
public:
static HANDLE m_hChangePasswordThread;
static DWORD m_dwChangePasswordID;
private:
static void WINAPI _ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv);
static void WINAPI _Handler(DWORD dwOpcode);
// data members
public:
TCHAR m_szServiceName[256];
TCHAR m_szDisplayName[256];
SERVICE_STATUS_HANDLE m_hServiceStatus;
SERVICE_STATUS m_status;
DWORD dwThreadID;
BOOL m_bService;
private:
void InitGatesIniFile(void);
string m_targetPath;
string m_server;
string m_database;
BOOL m_rgates;
long m_loginSequence;
HANDLE m_userLock;
string m_timeHost;
};
extern CServiceModule _Module;
#include <atlcom.h>
#include <comdef.h>
#ifndef DEBUG_NEW
#define DEBUG_NEW new
#endif
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__470832EA_892F_487D_A270_5735AB3AB775__INCLUDED)