Source code of Windows XP (NT5)
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.

82 lines
2.5 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // IPAddressPage.h
  7. //
  8. // Maintained By:
  9. // David Potter (DavidP) 14-MAR-2001
  10. // Geoffrey Pease (GPease) 12-MAY-2000
  11. //
  12. //////////////////////////////////////////////////////////////////////////////
  13. #pragma once
  14. class CIPAddressPage
  15. : public INotifyUI
  16. {
  17. friend class CClusCfgWizard;
  18. private: // data
  19. HWND m_hwnd; // Our HWND
  20. IServiceProvider * m_psp; // Service Manager
  21. ULONG * m_pulIPAddress; // External storage of IPAddress
  22. ULONG * m_pulIPSubnet; // Subnet mask
  23. BSTR * m_pbstrNetworkName; // Network name for address
  24. BSTR * m_pbstrClusterName; // Cluster name
  25. OBJECTCOOKIE m_cookieCompletion; // Completion cookie
  26. HANDLE m_event; // Event when verify IP address task is completed
  27. // IUnknown
  28. LONG m_cRef; // Reference count
  29. private: // methods
  30. CIPAddressPage(
  31. IServiceProvider * pspIn
  32. , ECreateAddMode ecamCreateAddModeIn
  33. , ULONG * pulIPAddressInout
  34. , ULONG * pulIPSubnetInout
  35. , BSTR * pbstrNetworkNameInout
  36. , BSTR * pbstrClusterNameIn
  37. );
  38. virtual ~CIPAddressPage( void );
  39. LRESULT
  40. OnInitDialog( void );
  41. LRESULT
  42. OnNotify( WPARAM idCtrlIn, LPNMHDR pnmhdrIn );
  43. LRESULT
  44. OnNotifyQueryCancel( void );
  45. LRESULT
  46. OnNotifySetActive( void );
  47. LRESULT
  48. OnNotifyWizNext( void );
  49. LRESULT
  50. OnCommand( UINT idNotificationIn, UINT idControlIn, HWND hwndSenderIn );
  51. HRESULT
  52. HrUpdateWizardButtons( void );
  53. HRESULT
  54. HrFindNetworkForIPAddress(
  55. IClusCfgNetworkInfo ** ppccniOut
  56. );
  57. HRESULT
  58. HrMatchNetwork(
  59. IClusCfgNetworkInfo * pccniIn,
  60. BSTR bstrNetworkNameIn
  61. );
  62. public: // methods
  63. static INT_PTR CALLBACK
  64. S_DlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
  65. // IUnknown
  66. STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
  67. STDMETHOD_( ULONG, AddRef )( void );
  68. STDMETHOD_( ULONG, Release )( void );
  69. // INotifyUI
  70. STDMETHOD( ObjectChanged )( OBJECTCOOKIE cookieIn);
  71. }; // class CIPAddressPage