mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
4.7 KiB
214 lines
4.7 KiB
/*++
|
|
Module Name:
|
|
|
|
NewFrs.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the declaration for CNewReplicaSet wizard pages.
|
|
These classes implement pages in the Create Replica Set wizard.
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _NEWFRS_H_
|
|
#define _NEWFRS_H_
|
|
|
|
#include "dfscore.h"
|
|
#include "QWizPage.h"
|
|
#include "mmcroot.h"
|
|
|
|
#include <list>
|
|
using namespace std;
|
|
|
|
class CAlternateReplicaInfo
|
|
{
|
|
public:
|
|
CComBSTR m_bstrDisplayName;
|
|
CComBSTR m_bstrDnsHostName;
|
|
CComBSTR m_bstrRootPath;
|
|
CComBSTR m_bstrStagingPath;
|
|
FRSSHARE_TYPE m_nFRSShareType;
|
|
HRESULT m_hrFRS;
|
|
DWORD m_dwServiceStartType;
|
|
DWORD m_dwServiceState;
|
|
|
|
CAlternateReplicaInfo() { Reset(); }
|
|
|
|
void Reset();
|
|
};
|
|
|
|
typedef list<CAlternateReplicaInfo *> AltRepList;
|
|
|
|
void FreeAltRepList(AltRepList* pList);
|
|
|
|
class CNewReplicaSet
|
|
{
|
|
public:
|
|
CComBSTR m_bstrDomain;
|
|
CComBSTR m_bstrReplicaSetDN;
|
|
CComBSTR m_bstrPrimaryServer;
|
|
CComBSTR m_bstrTopologyPref;
|
|
CComBSTR m_bstrHubServer;
|
|
CComBSTR m_bstrFileFilter;
|
|
CComBSTR m_bstrDirFilter;
|
|
HRESULT m_hr;
|
|
AltRepList m_AltRepList;
|
|
CComPtr<IReplicaSet> m_piReplicaSet;
|
|
|
|
HRESULT Initialize(
|
|
BSTR i_bstrDomain,
|
|
BSTR i_bstrReplicaSetDN,
|
|
DFS_REPLICA_LIST* i_pMmcRepList
|
|
);
|
|
|
|
private:
|
|
BOOL _InsertList(CAlternateReplicaInfo* pInfo);
|
|
void _Reset();
|
|
};
|
|
|
|
class CNewReplicaSetPage0:
|
|
public CQWizardPageImpl<CNewReplicaSetPage0>
|
|
{
|
|
BEGIN_MSG_MAP(CNewReplicaSetPage0)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
CHAIN_MSG_MAP(CQWizardPageImpl<CNewReplicaSetPage0>)
|
|
END_MSG_MAP()
|
|
|
|
public:
|
|
|
|
enum { IDD = IDD_NEWFRSWIZ_PAGE0 };
|
|
|
|
CNewReplicaSetPage0();
|
|
~CNewReplicaSetPage0();
|
|
|
|
BOOL OnSetActive();
|
|
|
|
LRESULT OnInitDialog(
|
|
IN UINT i_uMsg,
|
|
IN WPARAM i_wParam,
|
|
IN LPARAM i_lParam,
|
|
IN OUT BOOL& io_bHandled
|
|
);
|
|
|
|
private:
|
|
HFONT m_hBigBoldFont;
|
|
};
|
|
|
|
class CNewReplicaSetPage1:
|
|
public CQWizardPageImpl<CNewReplicaSetPage1>
|
|
{
|
|
BEGIN_MSG_MAP(CNewReplicaSetPage1)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
|
|
CHAIN_MSG_MAP(CQWizardPageImpl<CNewReplicaSetPage1>)
|
|
END_MSG_MAP()
|
|
|
|
public:
|
|
|
|
enum { IDD = IDD_NEWFRSWIZ_PAGE1 };
|
|
|
|
CNewReplicaSetPage1(CNewReplicaSet* i_pRepSet);
|
|
|
|
BOOL OnSetActive();
|
|
BOOL OnWizardBack();
|
|
BOOL OnWizardNext();
|
|
|
|
LRESULT OnInitDialog(
|
|
IN UINT i_uMsg,
|
|
IN WPARAM i_wParam,
|
|
IN LPARAM i_lParam,
|
|
IN OUT BOOL& io_bHandled
|
|
);
|
|
|
|
LRESULT OnNotify(
|
|
IN UINT i_uMsg,
|
|
IN WPARAM i_wParam,
|
|
IN LPARAM i_lParam,
|
|
IN OUT BOOL& io_bHandled
|
|
);
|
|
|
|
BOOL OnItemChanged(int i_iItem);
|
|
|
|
private:
|
|
void _Reset();
|
|
|
|
CNewReplicaSet* m_pRepSet;
|
|
int m_nCount; // number of eligible members
|
|
};
|
|
|
|
class CNewReplicaSetPage2:
|
|
public CQWizardPageImpl<CNewReplicaSetPage2>
|
|
{
|
|
BEGIN_MSG_MAP(CNewReplicaSetPage2)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
COMMAND_ID_HANDLER(IDC_NEWFRSWIZ_TOPOLOGYPREF, OnTopologyPref)
|
|
CHAIN_MSG_MAP(CQWizardPageImpl<CNewReplicaSetPage2>)
|
|
END_MSG_MAP()
|
|
|
|
public:
|
|
|
|
enum { IDD = IDD_NEWFRSWIZ_PAGE2 };
|
|
|
|
CNewReplicaSetPage2(CNewReplicaSet* i_pRepSet, BOOL i_bNewSchema);
|
|
|
|
BOOL OnSetActive();
|
|
BOOL OnWizardBack();
|
|
BOOL OnWizardFinish();
|
|
|
|
LRESULT OnInitDialog(
|
|
IN UINT i_uMsg,
|
|
IN WPARAM i_wParam,
|
|
IN LPARAM i_lParam,
|
|
IN OUT BOOL& io_bHandled
|
|
);
|
|
|
|
BOOL OnTopologyPref(
|
|
IN WORD wNotifyCode,
|
|
IN WORD wID,
|
|
IN HWND hWndCtl,
|
|
IN BOOL& bHandled
|
|
);
|
|
|
|
private:
|
|
void _Reset();
|
|
HRESULT _CreateReplicaSet();
|
|
|
|
CNewReplicaSet* m_pRepSet;
|
|
BOOL m_bNewSchema;
|
|
};
|
|
|
|
/*
|
|
class CNewReplicaSetPage3:
|
|
public CQWizardPageImpl<CNewReplicaSetPage3>
|
|
{
|
|
BEGIN_MSG_MAP(CNewReplicaSetPage3)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
CHAIN_MSG_MAP(CQWizardPageImpl<CNewReplicaSetPage3>)
|
|
END_MSG_MAP()
|
|
|
|
public:
|
|
|
|
enum { IDD = IDD_NEWFRSWIZ_PAGE3 };
|
|
|
|
CNewReplicaSetPage3(CNewReplicaSet* i_pRepSet);
|
|
|
|
BOOL OnSetActive();
|
|
BOOL OnWizardBack();
|
|
BOOL OnWizardFinish();
|
|
|
|
LRESULT OnInitDialog(
|
|
IN UINT i_uMsg,
|
|
IN WPARAM i_wParam,
|
|
IN LPARAM i_lParam,
|
|
IN OUT BOOL& io_bHandled
|
|
);
|
|
|
|
private:
|
|
void _Reset();
|
|
HRESULT _CreateReplicaSet();
|
|
|
|
CNewReplicaSet* m_pRepSet;
|
|
};
|
|
*/
|
|
#endif // _NEWFRS_H_
|