Leaked source code of windows server 2003
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.

794 lines
23 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows/NT **/
  3. /** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
  4. /**********************************************************************/
  5. /*
  6. scopewiz.h
  7. DHCP scope creation dialog
  8. FILE HISTORY:
  9. */
  10. #if !defined(AFX_DHCPSCPD_H__D3DDA5C5_88F7_11D0_97F9_00C04FC3357A__INCLUDED_)
  11. #define AFX_DHCPSCPD_H__D3DDA5C5_88F7_11D0_97F9_00C04FC3357A__INCLUDED_
  12. #if _MSC_VER >= 1000
  13. #pragma once
  14. #endif // _MSC_VER >= 1000
  15. #define DHCP_OPTION_ID_DOMAIN_NAME 15
  16. #define DHCP_OPTION_ID_DNS_SERVERS 6
  17. #define DHCP_OPTION_ID_WINS_SERVERS 44
  18. #define DHCP_OPTION_ID_WINS_NODE_TYPE 46
  19. #define DHCP_OPTION_ID_ROUTERS 3
  20. #define WINS_DEFAULT_NODE_TYPE 8
  21. #ifndef _SCOPE_H
  22. #include "scope.h"
  23. #endif
  24. /////////////////////////////////////////////////////////////////////////////
  25. //
  26. // CScopeWizName dialog
  27. //
  28. /////////////////////////////////////////////////////////////////////////////
  29. class CScopeWizName : public CPropertyPageBase
  30. {
  31. DECLARE_DYNCREATE(CScopeWizName)
  32. // Construction
  33. public:
  34. CScopeWizName();
  35. ~CScopeWizName();
  36. // Dialog Data
  37. //{{AFX_DATA(CScopeWizName)
  38. enum { IDD = IDW_SCOPE_NAME };
  39. CEdit m_editScopeName;
  40. CEdit m_editScopeComment;
  41. CString m_strName;
  42. CString m_strComment;
  43. //}}AFX_DATA
  44. // Overrides
  45. // ClassWizard generate virtual function overrides
  46. //{{AFX_VIRTUAL(CScopeWizName)
  47. public:
  48. virtual LRESULT OnWizardNext();
  49. virtual BOOL OnSetActive();
  50. protected:
  51. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  52. //}}AFX_VIRTUAL
  53. // Implementation
  54. public:
  55. void UpdateButtons();
  56. protected:
  57. // Generated message map functions
  58. //{{AFX_MSG(CScopeWizName)
  59. virtual BOOL OnInitDialog();
  60. afx_msg void OnChangeEditScopeName();
  61. //}}AFX_MSG
  62. DECLARE_MESSAGE_MAP()
  63. };
  64. /////////////////////////////////////////////////////////////////////////////
  65. //
  66. // CScopeWizInvalidName dialog
  67. //
  68. /////////////////////////////////////////////////////////////////////////////
  69. class CScopeWizInvalidName : public CPropertyPageBase
  70. {
  71. DECLARE_DYNCREATE(CScopeWizInvalidName)
  72. // Construction
  73. public:
  74. CScopeWizInvalidName();
  75. ~CScopeWizInvalidName();
  76. // Dialog Data
  77. //{{AFX_DATA(CScopeWizInvalidName)
  78. enum { IDD = IDW_SCOPE_INVALID_NAME };
  79. // NOTE - ClassWizard will add data members here.
  80. // DO NOT EDIT what you see in these blocks of generated code !
  81. //}}AFX_DATA
  82. // Overrides
  83. // ClassWizard generate virtual function overrides
  84. //{{AFX_VIRTUAL(CScopeWizInvalidName)
  85. public:
  86. virtual LRESULT OnWizardBack();
  87. virtual BOOL OnSetActive();
  88. protected:
  89. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  90. //}}AFX_VIRTUAL
  91. // Implementation
  92. protected:
  93. // Generated message map functions
  94. //{{AFX_MSG(CScopeWizInvalidName)
  95. virtual BOOL OnInitDialog();
  96. //}}AFX_MSG
  97. DECLARE_MESSAGE_MAP()
  98. };
  99. /////////////////////////////////////////////////////////////////////////////
  100. //
  101. // CScopeWizSetRange dialog
  102. //
  103. /////////////////////////////////////////////////////////////////////////////
  104. class CScopeWizSetRange : public CPropertyPageBase
  105. {
  106. DECLARE_DYNCREATE(CScopeWizSetRange)
  107. // Construction
  108. public:
  109. CScopeWizSetRange();
  110. ~CScopeWizSetRange();
  111. // Dialog Data
  112. //{{AFX_DATA(CScopeWizSetRange)
  113. enum { IDD = IDW_SCOPE_SET_SCOPE };
  114. CSpinButtonCtrl m_spinMaskLength;
  115. CEdit m_editMaskLength;
  116. //}}AFX_DATA
  117. CWndIpAddress m_ipaStart; // Start Address
  118. CWndIpAddress m_ipaEnd; // End Address
  119. CWndIpAddress m_ipaSubnetMask; // Subnet Mask
  120. // Overrides
  121. // ClassWizard generate virtual function overrides
  122. //{{AFX_VIRTUAL(CScopeWizSetRange)
  123. public:
  124. virtual LRESULT OnWizardNext();
  125. virtual LRESULT OnWizardBack();
  126. virtual BOOL OnSetActive();
  127. virtual BOOL OnKillActive();
  128. protected:
  129. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  130. //}}AFX_VIRTUAL
  131. // Implementation
  132. public:
  133. void SuggestSubnetMask();
  134. DWORD DefaultNetMaskForIpAddress(DWORD dwAddress);
  135. DWORD DetermineSubnetId(BOOL bStartIpAddress);
  136. BOOL GetScopeRange(CDhcpIpRange * pdhcpIpRange);
  137. DHCP_IP_ADDRESS GetSubnetMask();
  138. BOOL FScopeExists(CDhcpIpRange & rangeScope, DWORD dwMask);
  139. protected:
  140. // Generated message map functions
  141. //{{AFX_MSG(CScopeWizSetRange)
  142. virtual BOOL OnInitDialog();
  143. afx_msg void OnKillfocusPoolStart();
  144. afx_msg void OnKillfocusPoolStop();
  145. afx_msg void OnChangeEditMaskLength();
  146. afx_msg void OnKillfocusSubnetMask();
  147. afx_msg void OnChangePoolStart();
  148. afx_msg void OnChangePoolStop();
  149. //}}AFX_MSG
  150. DECLARE_MESSAGE_MAP()
  151. BOOL m_bAutoUpdateMask;
  152. BOOL m_fPageActive;
  153. void UpdateButtons();
  154. void UpdateMask(BOOL bUseLength);
  155. };
  156. /////////////////////////////////////////////////////////////////////////////
  157. //
  158. // CScopeWizSetExclusions dialog
  159. //
  160. /////////////////////////////////////////////////////////////////////////////
  161. class CScopeWizSetExclusions : public CPropertyPageBase
  162. {
  163. DECLARE_DYNCREATE(CScopeWizSetExclusions)
  164. // Construction
  165. public:
  166. CScopeWizSetExclusions();
  167. ~CScopeWizSetExclusions();
  168. // Dialog Data
  169. //{{AFX_DATA(CScopeWizSetExclusions)
  170. enum { IDD = IDW_SCOPE_SET_EXCLUSIONS };
  171. CListBox m_listboxExclusions;
  172. CButton m_buttonExclusionDelete;
  173. CButton m_buttonExclusionAdd;
  174. //}}AFX_DATA
  175. CWndIpAddress m_ipaStart; // Start Address
  176. CWndIpAddress m_ipaEnd; // End Address
  177. // Overrides
  178. // ClassWizard generate virtual function overrides
  179. //{{AFX_VIRTUAL(CScopeWizSetExclusions)
  180. public:
  181. virtual LRESULT OnWizardNext();
  182. virtual LRESULT OnWizardBack();
  183. virtual BOOL OnSetActive();
  184. protected:
  185. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  186. //}}AFX_VIRTUAL
  187. // Implementation
  188. public:
  189. CExclusionList * GetExclusionList() { return &m_listExclusions; }
  190. protected:
  191. // Generated message map functions
  192. //{{AFX_MSG(CScopeWizSetExclusions)
  193. virtual BOOL OnInitDialog();
  194. afx_msg void OnButtonExclusionAdd();
  195. afx_msg void OnButtonExclusionDelete();
  196. //}}AFX_MSG
  197. afx_msg void OnChangeExclusionStart();
  198. afx_msg void OnChangeExclusionEnd();
  199. DECLARE_MESSAGE_MAP()
  200. CExclusionList m_listExclusions;
  201. // Fill the exclusions listbox from the current list
  202. void Fill ( int nCurSel = 0, BOOL bToggleRedraw = TRUE ) ;
  203. // Return TRUE if the given range overlaps an already-defined range
  204. BOOL IsOverlappingRange ( CDhcpIpRange & dhcIpRange ) ;
  205. // Store the excluded IP range values into a range object
  206. BOOL GetExclusionRange (CDhcpIpRange & dhcIpRange ) ;
  207. // Format an IP range pair into the exclusion edit controls
  208. void FillExcl ( CDhcpIpRange * pdhcIpRange ) ;
  209. void UpdateButtons();
  210. };
  211. /////////////////////////////////////////////////////////////////////////////
  212. //
  213. // CScopeWizLeaseTime dialog
  214. //
  215. /////////////////////////////////////////////////////////////////////////////
  216. class CScopeWizLeaseTime : public CPropertyPageBase
  217. {
  218. DECLARE_DYNCREATE(CScopeWizLeaseTime)
  219. // Construction
  220. public:
  221. CScopeWizLeaseTime();
  222. ~CScopeWizLeaseTime();
  223. // Dialog Data
  224. //{{AFX_DATA(CScopeWizLeaseTime)
  225. enum { IDD = IDW_SCOPE_LEASE_TIME };
  226. CButton m_radioLimited;
  227. CButton m_radioUnlimited;
  228. CSpinButtonCtrl m_spinMinutes;
  229. CSpinButtonCtrl m_spinHours;
  230. CSpinButtonCtrl m_spinDays;
  231. CEdit m_editMinutes;
  232. CEdit m_editHours;
  233. CEdit m_editDays;
  234. //}}AFX_DATA
  235. static int m_nDaysDefault;
  236. static int m_nHoursDefault;
  237. static int m_nMinutesDefault;
  238. // Overrides
  239. // ClassWizard generate virtual function overrides
  240. //{{AFX_VIRTUAL(CScopeWizLeaseTime)
  241. public:
  242. virtual LRESULT OnWizardNext();
  243. virtual LRESULT OnWizardBack();
  244. virtual BOOL OnSetActive();
  245. protected:
  246. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  247. //}}AFX_VIRTUAL
  248. // Implementation
  249. public:
  250. DWORD GetLeaseTime();
  251. protected:
  252. // Generated message map functions
  253. //{{AFX_MSG(CScopeWizLeaseTime)
  254. virtual BOOL OnInitDialog();
  255. afx_msg void OnChangeEditLeaseHours();
  256. afx_msg void OnChangeEditLeaseMinutes();
  257. //}}AFX_MSG
  258. DECLARE_MESSAGE_MAP()
  259. void ActivateDuration(BOOL fActive);
  260. };
  261. /////////////////////////////////////////////////////////////////////////////
  262. //
  263. // CScopeWizCreateSuperscope dialog
  264. //
  265. /////////////////////////////////////////////////////////////////////////////
  266. class CScopeWizCreateSuperscope : public CPropertyPageBase
  267. {
  268. DECLARE_DYNCREATE(CScopeWizCreateSuperscope)
  269. // Construction
  270. public:
  271. CScopeWizCreateSuperscope();
  272. ~CScopeWizCreateSuperscope();
  273. // Dialog Data
  274. //{{AFX_DATA(CScopeWizCreateSuperscope)
  275. enum { IDD = IDW_SCOPE_CREATE_SUPERSCOPE };
  276. CStatic m_staticInfo;
  277. CStatic m_staticWarning;
  278. CStatic m_staticIcon;
  279. CButton m_radioNo;
  280. CButton m_radioYes;
  281. //}}AFX_DATA
  282. // Overrides
  283. // ClassWizard generate virtual function overrides
  284. //{{AFX_VIRTUAL(CScopeWizCreateSuperscope)
  285. public:
  286. virtual LRESULT OnWizardNext();
  287. virtual LRESULT OnWizardBack();
  288. virtual BOOL OnSetActive();
  289. protected:
  290. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  291. //}}AFX_VIRTUAL
  292. // Implementation
  293. protected:
  294. // Generated message map functions
  295. //{{AFX_MSG(CScopeWizCreateSuperscope)
  296. virtual BOOL OnInitDialog();
  297. afx_msg void OnRadioSuperscopeNo();
  298. afx_msg void OnRadioSuperscopeYes();
  299. //}}AFX_MSG
  300. DECLARE_MESSAGE_MAP()
  301. void UpdateButtons();
  302. void UpdateWarning();
  303. };
  304. /////////////////////////////////////////////////////////////////////////////
  305. //
  306. // CScopeWizFinished dialog
  307. //
  308. /////////////////////////////////////////////////////////////////////////////
  309. class CScopeWizFinished : public CPropertyPageBase
  310. {
  311. DECLARE_DYNCREATE(CScopeWizFinished)
  312. // Construction
  313. public:
  314. CScopeWizFinished();
  315. ~CScopeWizFinished();
  316. // Dialog Data
  317. //{{AFX_DATA(CScopeWizFinished)
  318. enum { IDD = IDW_SCOPE_FINISHED };
  319. CStatic m_staticTitle;
  320. //}}AFX_DATA
  321. CFont m_fontBig;
  322. // Overrides
  323. // ClassWizard generate virtual function overrides
  324. //{{AFX_VIRTUAL(CScopeWizFinished)
  325. public:
  326. virtual BOOL OnWizardFinish();
  327. virtual BOOL OnSetActive();
  328. virtual LRESULT OnWizardBack();
  329. protected:
  330. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  331. //}}AFX_VIRTUAL
  332. // Implementation
  333. protected:
  334. // Generated message map functions
  335. //{{AFX_MSG(CScopeWizFinished)
  336. virtual BOOL OnInitDialog();
  337. //}}AFX_MSG
  338. DECLARE_MESSAGE_MAP()
  339. };
  340. /////////////////////////////////////////////////////////////////////////////
  341. // CScopeWizWelcome dialog
  342. class CScopeWizWelcome : public CPropertyPageBase
  343. {
  344. DECLARE_DYNCREATE(CScopeWizWelcome)
  345. // Construction
  346. public:
  347. CScopeWizWelcome();
  348. ~CScopeWizWelcome();
  349. // Dialog Data
  350. //{{AFX_DATA(CScopeWizWelcome)
  351. enum { IDD = IDW_SCOPE_WELCOME };
  352. CStatic m_staticTitle;
  353. //}}AFX_DATA
  354. CFont m_fontBig;
  355. // Overrides
  356. // ClassWizard generate virtual function overrides
  357. //{{AFX_VIRTUAL(CScopeWizWelcome)
  358. public:
  359. virtual BOOL OnSetActive();
  360. protected:
  361. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  362. //}}AFX_VIRTUAL
  363. // Implementation
  364. protected:
  365. // Generated message map functions
  366. //{{AFX_MSG(CScopeWizWelcome)
  367. virtual BOOL OnInitDialog();
  368. //}}AFX_MSG
  369. DECLARE_MESSAGE_MAP()
  370. };
  371. /////////////////////////////////////////////////////////////////////////////
  372. // CScopeWizConfigOptions dialog
  373. class CScopeWizConfigOptions : public CPropertyPageBase
  374. {
  375. DECLARE_DYNCREATE(CScopeWizConfigOptions)
  376. // Construction
  377. public:
  378. CScopeWizConfigOptions();
  379. ~CScopeWizConfigOptions();
  380. // Dialog Data
  381. //{{AFX_DATA(CScopeWizConfigOptions)
  382. enum { IDD = IDW_SCOPE_CONFIGURE_OPTIONS };
  383. // NOTE - ClassWizard will add data members here.
  384. // DO NOT EDIT what you see in these blocks of generated code !
  385. //}}AFX_DATA
  386. // Overrides
  387. // ClassWizard generate virtual function overrides
  388. //{{AFX_VIRTUAL(CScopeWizConfigOptions)
  389. public:
  390. virtual LRESULT OnWizardNext();
  391. virtual LRESULT OnWizardBack();
  392. virtual BOOL OnSetActive();
  393. protected:
  394. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  395. //}}AFX_VIRTUAL
  396. // Implementation
  397. protected:
  398. // Generated message map functions
  399. //{{AFX_MSG(CScopeWizConfigOptions)
  400. virtual BOOL OnInitDialog();
  401. //}}AFX_MSG
  402. DECLARE_MESSAGE_MAP()
  403. };
  404. /////////////////////////////////////////////////////////////////////////////
  405. // CScopeWizRouter dialog
  406. class CScopeWizRouter : public CPropertyPageBase
  407. {
  408. DECLARE_DYNCREATE(CScopeWizRouter)
  409. // Construction
  410. public:
  411. CScopeWizRouter();
  412. ~CScopeWizRouter();
  413. // Dialog Data
  414. //{{AFX_DATA(CScopeWizRouter)
  415. enum { IDD = IDW_SCOPE_CONFIGURE_ROUTER };
  416. CListBox m_listboxRouters;
  417. CButton m_buttonDelete;
  418. CButton m_buttonAdd;
  419. CButton m_buttonIpAddrUp;
  420. CButton m_buttonIpAddrDown;
  421. //}}AFX_DATA
  422. void MoveValue(BOOL bUp);
  423. // Overrides
  424. // ClassWizard generate virtual function overrides
  425. //{{AFX_VIRTUAL(CScopeWizRouter)
  426. public:
  427. virtual LRESULT OnWizardNext();
  428. virtual LRESULT OnWizardBack();
  429. virtual BOOL OnSetActive();
  430. protected:
  431. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  432. //}}AFX_VIRTUAL
  433. CWndIpAddress m_ipaRouter;
  434. // Implementation
  435. protected:
  436. // Generated message map functions
  437. //{{AFX_MSG(CScopeWizRouter)
  438. virtual BOOL OnInitDialog();
  439. afx_msg void OnButtonDefaultGwAdd();
  440. afx_msg void OnButtonDefaultGwDelete();
  441. afx_msg void OnSelchangeListDefaultGwList();
  442. afx_msg void OnChangeRouter();
  443. afx_msg void OnDestroy();
  444. //}}AFX_MSG
  445. afx_msg void OnButtonIpAddrDown();
  446. afx_msg void OnButtonIpAddrUp();
  447. DECLARE_MESSAGE_MAP()
  448. void UpdateButtons();
  449. };
  450. /////////////////////////////////////////////////////////////////////////////
  451. // CScopeWizDNS dialog
  452. class CScopeWizDNS : public CPropertyPageBase
  453. {
  454. DECLARE_DYNCREATE(CScopeWizDNS)
  455. // Construction
  456. public:
  457. CScopeWizDNS();
  458. ~CScopeWizDNS();
  459. // Dialog Data
  460. //{{AFX_DATA(CScopeWizDNS)
  461. enum { IDD = IDW_SCOPE_CONFIGURE_DNS };
  462. CEdit m_editServerName;
  463. CButton m_buttonResolve;
  464. CButton m_buttonDelete;
  465. CButton m_buttonAdd;
  466. CEdit m_editDomainName;
  467. CListBox m_listboxDNSServers;
  468. CButton m_buttonIpAddrUp;
  469. CButton m_buttonIpAddrDown;
  470. //}}AFX_DATA
  471. void MoveValue(BOOL bUp);
  472. // Overrides
  473. // ClassWizard generate virtual function overrides
  474. //{{AFX_VIRTUAL(CScopeWizDNS)
  475. public:
  476. virtual LRESULT OnWizardNext();
  477. virtual LRESULT OnWizardBack();
  478. virtual BOOL OnSetActive();
  479. protected:
  480. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  481. //}}AFX_VIRTUAL
  482. CWndIpAddress m_ipaDNS;
  483. // Implementation
  484. protected:
  485. // Generated message map functions
  486. //{{AFX_MSG(CScopeWizDNS)
  487. virtual BOOL OnInitDialog();
  488. afx_msg void OnButtonDnsAdd();
  489. afx_msg void OnButtonDnsDelete();
  490. afx_msg void OnSelchangeListDnsList();
  491. afx_msg void OnChangeDnsServer();
  492. afx_msg void OnDestroy();
  493. afx_msg void OnChangeEditServerName();
  494. afx_msg void OnButtonResolve();
  495. //}}AFX_MSG
  496. afx_msg void OnButtonIpAddrDown();
  497. afx_msg void OnButtonIpAddrUp();
  498. DECLARE_MESSAGE_MAP()
  499. void UpdateButtons();
  500. };
  501. /////////////////////////////////////////////////////////////////////////////
  502. // CScopeWizWINS dialog
  503. class CScopeWizWINS : public CPropertyPageBase
  504. {
  505. DECLARE_DYNCREATE(CScopeWizWINS)
  506. // Construction
  507. public:
  508. CScopeWizWINS();
  509. ~CScopeWizWINS();
  510. // Dialog Data
  511. //{{AFX_DATA(CScopeWizWINS)
  512. enum { IDD = IDW_SCOPE_CONFIGURE_WINS };
  513. CButton m_buttonResolve;
  514. CEdit m_editServerName;
  515. CListBox m_listboxWINSServers;
  516. CButton m_buttonDelete;
  517. CButton m_buttonAdd;
  518. CButton m_buttonIpAddrUp;
  519. CButton m_buttonIpAddrDown;
  520. //}}AFX_DATA
  521. void MoveValue(BOOL bUp);
  522. // Overrides
  523. // ClassWizard generate virtual function overrides
  524. //{{AFX_VIRTUAL(CScopeWizWINS)
  525. public:
  526. virtual LRESULT OnWizardNext();
  527. virtual LRESULT OnWizardBack();
  528. virtual BOOL OnSetActive();
  529. protected:
  530. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  531. //}}AFX_VIRTUAL
  532. CWndIpAddress m_ipaWINS;
  533. // Implementation
  534. protected:
  535. // Generated message map functions
  536. //{{AFX_MSG(CScopeWizWINS)
  537. virtual BOOL OnInitDialog();
  538. afx_msg void OnButtonWinsAdd();
  539. afx_msg void OnButtonWinsDelete();
  540. afx_msg void OnSelchangeListWinsList();
  541. afx_msg void OnChangeWinsServer();
  542. afx_msg void OnDestroy();
  543. afx_msg void OnButtonResolve();
  544. afx_msg void OnChangeEditServerName();
  545. //}}AFX_MSG
  546. afx_msg void OnButtonIpAddrDown();
  547. afx_msg void OnButtonIpAddrUp();
  548. DECLARE_MESSAGE_MAP()
  549. void UpdateButtons();
  550. };
  551. /////////////////////////////////////////////////////////////////////////////
  552. // CScopeWizActivate dialog
  553. class CScopeWizActivate : public CPropertyPageBase
  554. {
  555. DECLARE_DYNCREATE(CScopeWizActivate)
  556. // Construction
  557. public:
  558. CScopeWizActivate();
  559. ~CScopeWizActivate();
  560. // Dialog Data
  561. //{{AFX_DATA(CScopeWizActivate)
  562. enum { IDD = IDW_SCOPE_CONFIGURE_ACTIVATE };
  563. // NOTE - ClassWizard will add data members here.
  564. // DO NOT EDIT what you see in these blocks of generated code !
  565. //}}AFX_DATA
  566. // Overrides
  567. // ClassWizard generate virtual function overrides
  568. //{{AFX_VIRTUAL(CScopeWizActivate)
  569. public:
  570. virtual LRESULT OnWizardNext();
  571. virtual LRESULT OnWizardBack();
  572. virtual BOOL OnSetActive();
  573. protected:
  574. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  575. //}}AFX_VIRTUAL
  576. // Implementation
  577. protected:
  578. // Generated message map functions
  579. //{{AFX_MSG(CScopeWizActivate)
  580. virtual BOOL OnInitDialog();
  581. //}}AFX_MSG
  582. DECLARE_MESSAGE_MAP()
  583. };
  584. //{{AFX_INSERT_LOCATION}}
  585. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  586. //}}AFX
  587. ///////////////////////////////////////////////////////////////////////////////
  588. //
  589. // CScopeWiz
  590. // page holder to contain Superscope wizard pages
  591. //
  592. /////////////////////////////////////////////////////////////////////////////
  593. class CScopeWiz : public CPropertyPageHolderBase
  594. {
  595. friend class CScopeWizWelcome;
  596. friend class CScopeWizName;
  597. friend class CScopeWizInvalidName;
  598. friend class CScopeWizSetRange;
  599. friend class CScopeWizSetExclusions;
  600. friend class CScopeWizLeaseTime;
  601. friend class CScopeWizCreateSuperscope;
  602. friend class CScopeWizConfigOptions;
  603. friend class CScopeWizRouter;
  604. friend class CScopeWizDNS;
  605. friend class CScopeWizWINS;
  606. friend class CScopeWizActivate;
  607. friend class CScopeWizFinished;
  608. public:
  609. CScopeWiz(ITFSNode * pNode,
  610. IComponentData * pComponentData,
  611. ITFSComponentData * pTFSCompData,
  612. LPCTSTR pSuperscopeName,
  613. LPCTSTR pszSheetName);
  614. virtual ~CScopeWiz();
  615. virtual DWORD OnFinish();
  616. BOOL GetScopeRange(CDhcpIpRange * pdhcpIpRange);
  617. ITFSComponentData * GetTFSCompData()
  618. {
  619. if (m_spTFSCompData)
  620. m_spTFSCompData->AddRef();
  621. return m_spTFSCompData;
  622. }
  623. void SetCreateSuperscope(BOOL fCreateSuperscope) { m_fCreateSuperscope = fCreateSuperscope; }
  624. BOOL GetCreateSuperscope() { return m_fCreateSuperscope; }
  625. public:
  626. CScopeWizWelcome m_pageWelcome;
  627. CScopeWizName m_pageName;
  628. CScopeWizInvalidName m_pageInvalidName;
  629. CScopeWizSetRange m_pageSetRange;
  630. CScopeWizSetExclusions m_pageSetExclusions;
  631. CScopeWizLeaseTime m_pageLeaseTime;
  632. CScopeWizCreateSuperscope m_pageCreateSuperscope;
  633. CScopeWizConfigOptions m_pageConfigOptions;
  634. CScopeWizRouter m_pageRouter;
  635. CScopeWizDNS m_pageDNS;
  636. CScopeWizWINS m_pageWINS;
  637. CScopeWizActivate m_pageActivate;
  638. CScopeWizFinished m_pageFinished;
  639. public:
  640. CDhcpDefaultOptionsOnServer * m_pDefaultOptions;
  641. protected:
  642. DWORD CreateScope();
  643. DWORD CreateSuperscope();
  644. DWORD SetScopeOptions(CDhcpScope * pScope);
  645. SPITFSComponentData m_spTFSCompData;
  646. CString m_strSuperscopeName;
  647. BOOL m_fCreateSuperscope;
  648. BOOL m_fOptionsConfigured;
  649. BOOL m_fActivateScope;
  650. BOOL m_fWizardCancelled;
  651. CDhcpOption * m_poptDomainName;
  652. CDhcpOption * m_poptDNSServers;
  653. CDhcpOption * m_poptRouters;
  654. CDhcpOption * m_poptWINSNodeType;
  655. CDhcpOption * m_poptWINSServers;
  656. };
  657. #endif // !defined(AFX_DHCPSCPD_H__D3DDA5C5_88F7_11D0_97F9_00C04FC3357A__INCLUDED_)