windows-nt/Source/XPSP1/NT/net/mmc/tapi/servpp.h
2020-09-26 16:20:57 +08:00

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_)