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.

90 lines
3.4 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CommitPage.h
  7. //
  8. // Maintained By:
  9. // Galen Barbee (GalenB) 12-MAY-2000
  10. //
  11. //////////////////////////////////////////////////////////////////////////////
  12. #pragma once
  13. class CCommitPage
  14. : public INotifyUI
  15. , public IClusCfgCallback
  16. {
  17. private: // data
  18. HWND m_hwnd; // Our HWND
  19. CClusCfgWizard * m_pccw; // Wizard
  20. BOOL m_fNext; // If Next was pressed...
  21. BOOL m_fDisableBack; // When we passed the point of no return.
  22. BOOL m_fAborted; // Back was pressed and we need to tell the servers to abort.
  23. BOOL m_fPassedPointOfNoReturn; // If we passed the point of no return
  24. ECreateAddMode m_ecamCreateAddMode; // Creating or Adding?
  25. HTREEITEM m_htiReanalyze; // Reanalyze tree item handle.
  26. ITaskCommitClusterChanges * m_ptccc;
  27. BOOL m_rgfSubReanalyzeAdded[ 5 ];
  28. // IUnknown
  29. LONG m_cRef; // Reference count
  30. // IClusCfgCallback
  31. OBJECTCOOKIE m_cookieCompletion; // Completion cookie
  32. BOOL m_fTaskDone; // Is the task done yet?
  33. HRESULT m_hrResult; // Result of the analyze task
  34. CTaskTreeView * m_pttv; // Task TreeView
  35. BSTR m_bstrLogMsg; // Logging message buffer
  36. DWORD m_dwCookieCallback; // Notification registration cookie
  37. // INotifyUI
  38. DWORD m_dwCookieNotify; // Notification registration cookie
  39. private: // methods
  40. LRESULT OnInitDialog( void );
  41. LRESULT OnNotify( WPARAM idCtrlIn, LPNMHDR pnmhdrIn );
  42. LRESULT OnNotifyQueryCancel( void );
  43. LRESULT OnNotifySetActive( void );
  44. LRESULT OnNotifyWizNext( void );
  45. LRESULT OnNotifyWizBack( void );
  46. LRESULT OnCommand( UINT idNotificationIn, UINT idControlIn, HWND hwndSenderIn );
  47. HRESULT HrUpdateWizardButtons( void );
  48. HRESULT HrCleanupCommit( void );
  49. HRESULT HrUnAdviseConnections( void );
  50. public: // methods
  51. CCommitPage(
  52. CClusCfgWizard * pccwIn
  53. , ECreateAddMode ecamCreateAddModeIn
  54. );
  55. ~CCommitPage( void );
  56. static INT_PTR CALLBACK S_DlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
  57. // IUnknown
  58. STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
  59. STDMETHOD_( ULONG, AddRef )( void );
  60. STDMETHOD_( ULONG, Release )( void );
  61. // INotifyUI
  62. STDMETHOD( ObjectChanged )( OBJECTCOOKIE cookieIn);
  63. // IClusCfgCallback
  64. STDMETHOD( SendStatusReport )(
  65. LPCWSTR pcszNodeNameIn
  66. , CLSID clsidTaskMajorIn
  67. , CLSID clsidTaskMinorIn
  68. , ULONG ulMinIn
  69. , ULONG ulMaxIn
  70. , ULONG ulCurrentIn
  71. , HRESULT hrStatusIn
  72. , LPCWSTR pcszDescriptionIn
  73. , FILETIME * pftTimeIn
  74. , LPCWSTR pcszReferenceIn
  75. );
  76. }; //*** class CCommitPage