215 lines
6.2 KiB
C
215 lines
6.2 KiB
C
|
/**********************************************************************/
|
||
|
/** Microsoft Windows/NT **/
|
||
|
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
|
||
|
/**********************************************************************/
|
||
|
|
||
|
/*
|
||
|
Servpp.h
|
||
|
Server properties header file
|
||
|
|
||
|
FILE HISTORY:
|
||
|
|
||
|
*/
|
||
|
|
||
|
#if !defined(AFX_SERVPP_H__037BF46A_6E87_11D1_93B6_00C04FC3357A__INCLUDED_)
|
||
|
#define AFX_SERVPP_H__037BF46A_6E87_11D1_93B6_00C04FC3357A__INCLUDED_
|
||
|
|
||
|
#ifndef _TAPIDB_H
|
||
|
#include "tapidb.h"
|
||
|
#endif
|
||
|
|
||
|
#if _MSC_VER >= 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER >= 1000
|
||
|
|
||
|
#define AUTO_REFRESH_HOURS_MAX 23
|
||
|
#define AUTO_REFRESH_MINUTES_MAX 59
|
||
|
|
||
|
#include "rrasutil.h"
|
||
|
|
||
|
BOOL IsLocalSystemAccount(LPCTSTR pszAccount);
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CServerPropRefresh dialog
|
||
|
|
||
|
class CServerPropRefresh : public CPropertyPageBase
|
||
|
{
|
||
|
DECLARE_DYNCREATE(CServerPropRefresh)
|
||
|
|
||
|
// Construction
|
||
|
public:
|
||
|
CServerPropRefresh();
|
||
|
~CServerPropRefresh();
|
||
|
|
||
|
// Dialog Data
|
||
|
//{{AFX_DATA(CServerPropRefresh)
|
||
|
enum { IDD = IDP_SERVER_REFRESH };
|
||
|
CEdit m_editMinutes;
|
||
|
CEdit m_editHours;
|
||
|
CSpinButtonCtrl m_spinMinutes;
|
||
|
CSpinButtonCtrl m_spinHours;
|
||
|
CButton m_checkEnableStats;
|
||
|
//}}AFX_DATA
|
||
|
|
||
|
void UpdateButtons();
|
||
|
void ValidateHours();
|
||
|
void ValidateMinutes();
|
||
|
|
||
|
virtual BOOL OnPropertyChange(BOOL bScope, LONG_PTR *ChangeMask);
|
||
|
|
||
|
// Context Help Support
|
||
|
virtual DWORD * GetHelpMap() { return (DWORD *) &g_aHelpIDs_SERVER_REFRESH[0]; }
|
||
|
|
||
|
BOOL m_bAutoRefresh;
|
||
|
DWORD m_dwRefreshInterval;
|
||
|
|
||
|
// Overrides
|
||
|
// ClassWizard generate virtual function overrides
|
||
|
//{{AFX_VIRTUAL(CServerPropRefresh)
|
||
|
public:
|
||
|
virtual BOOL OnApply();
|
||
|
protected:
|
||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||
|
//}}AFX_VIRTUAL
|
||
|
|
||
|
// Implementation
|
||
|
protected:
|
||
|
// Generated message map functions
|
||
|
//{{AFX_MSG(CServerPropRefresh)
|
||
|
virtual BOOL OnInitDialog();
|
||
|
afx_msg void OnCheckEnableStats();
|
||
|
afx_msg void OnKillfocusEditHours();
|
||
|
afx_msg void OnKillfocusEditMinutes();
|
||
|
afx_msg void OnChangeEditHours();
|
||
|
afx_msg void OnChangeEditMinutes();
|
||
|
//}}AFX_MSG
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
|
||
|
};
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CServerPropSetup dialog
|
||
|
|
||
|
class CServerPropSetup : public CPropertyPageBase
|
||
|
{
|
||
|
DECLARE_DYNCREATE(CServerPropSetup)
|
||
|
|
||
|
// Construction
|
||
|
public:
|
||
|
CServerPropSetup();
|
||
|
~CServerPropSetup();
|
||
|
|
||
|
// Dialog Data
|
||
|
//{{AFX_DATA(CServerPropSetup)
|
||
|
enum { IDD = IDP_SERVER_SETUP };
|
||
|
CListBox m_listAdmins;
|
||
|
//}}AFX_DATA
|
||
|
|
||
|
void EnableButtons(BOOL fIsNtServer = TRUE);
|
||
|
|
||
|
virtual BOOL OnPropertyChange(BOOL bScope, LONG_PTR *ChangeMask);
|
||
|
|
||
|
// Context Help Support
|
||
|
virtual DWORD * GetHelpMap() { return (DWORD *) &g_aHelpIDs_SERVER_SETUP[0]; }
|
||
|
|
||
|
HRESULT UpdateSvcHostInfo(LPCTSTR pszMachine, BOOL fLocalSystemAccount);
|
||
|
DWORD RestartService();
|
||
|
void StartRefresh();
|
||
|
|
||
|
// Overrides
|
||
|
// ClassWizard generate virtual function overrides
|
||
|
//{{AFX_VIRTUAL(CServerPropSetup)
|
||
|
public:
|
||
|
virtual BOOL OnApply();
|
||
|
protected:
|
||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||
|
//}}AFX_VIRTUAL
|
||
|
|
||
|
// Implementation
|
||
|
protected:
|
||
|
// Generated message map functions
|
||
|
//{{AFX_MSG(CServerPropSetup)
|
||
|
afx_msg void OnButtonAdd();
|
||
|
afx_msg void OnButtonChooseUser();
|
||
|
afx_msg void OnButtonRemove();
|
||
|
afx_msg void OnCheckEnableServer();
|
||
|
afx_msg void OnChangeEditName();
|
||
|
afx_msg void OnChangeEditPassword();
|
||
|
virtual BOOL OnInitDialog();
|
||
|
afx_msg void OnSelchangeListAdmins();
|
||
|
//}}AFX_MSG
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
|
||
|
CTapiConfigInfo m_tapiConfigInfo;
|
||
|
DWORD m_dwNewFlags;
|
||
|
DWORD m_dwInitFlags;
|
||
|
BOOL m_fRestartService;
|
||
|
};
|
||
|
//{{AFX_INSERT_LOCATION}}
|
||
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
||
|
//}}AFX
|
||
|
|
||
|
class CServerProperties : public CPropertyPageHolderBase
|
||
|
{
|
||
|
friend class CServerPropRefresh;
|
||
|
|
||
|
public:
|
||
|
CServerProperties(ITFSNode * pNode,
|
||
|
IComponentData * pComponentData,
|
||
|
ITFSComponentData * pTFSCompData,
|
||
|
ITapiInfo * pTapiInfo,
|
||
|
LPCTSTR pszSheetName,
|
||
|
BOOL fTapiInfoLoaded);
|
||
|
virtual ~CServerProperties();
|
||
|
|
||
|
ITFSComponentData * GetTFSCompData()
|
||
|
{
|
||
|
if (m_spTFSCompData)
|
||
|
m_spTFSCompData->AddRef();
|
||
|
return m_spTFSCompData;
|
||
|
}
|
||
|
|
||
|
HRESULT GetTapiInfo(ITapiInfo ** ppTapiInfo)
|
||
|
{
|
||
|
Assert(ppTapiInfo);
|
||
|
*ppTapiInfo = NULL;
|
||
|
SetI((LPUNKNOWN *) ppTapiInfo, m_spTapiInfo);
|
||
|
return hrOK;
|
||
|
}
|
||
|
|
||
|
BOOL FInit();
|
||
|
BOOL FOpenScManager();
|
||
|
VOID FCheckLSAAccount();
|
||
|
BOOL FUpdateServiceInfo(LPCTSTR pszName, LPCTSTR pszPassword, DWORD dwStartType);
|
||
|
BOOL FIsServiceRunning() { return (m_SS.dwCurrentState == SERVICE_RUNNING); }
|
||
|
BOOL FHasServiceControl();
|
||
|
BOOL FIsTapiInfoLoaded() { return m_fTapiInfoLoaded; }
|
||
|
BOOL FIsAdmin() { return m_spTapiInfo->IsAdmin(); }
|
||
|
|
||
|
LPCTSTR GetServiceAccountName() { return m_strLogOnAccountName; }
|
||
|
LPCTSTR GetServiceDisplayName() { return m_strServiceDisplayName; }
|
||
|
|
||
|
public:
|
||
|
CServerPropSetup m_pageSetup;
|
||
|
CServerPropRefresh m_pageRefresh;
|
||
|
|
||
|
CString m_strMachineName;
|
||
|
CONST TCHAR * m_pszServiceName;
|
||
|
|
||
|
protected:
|
||
|
SPITFSComponentData m_spTFSCompData;
|
||
|
SPITapiInfo m_spTapiInfo;
|
||
|
|
||
|
SC_HANDLE m_hScManager;
|
||
|
|
||
|
UINT m_uFlags; // Flags about which fields are dirty
|
||
|
SERVICE_STATUS m_SS; // Service Status structure
|
||
|
QUERY_SERVICE_CONFIG * m_paQSC; // Pointer to allocated QSC structure
|
||
|
CString m_strServiceDisplayName;
|
||
|
CString m_strLogOnAccountName;
|
||
|
BOOL m_fTapiInfoLoaded;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // !defined(AFX_SERVPP_H__037BF46A_6E87_11D1_93B6_00C04FC3357A__INCLUDED_)
|