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.

94 lines
3.5 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. friend class CClusCfgWizard;
  18. private: // data
  19. HWND m_hwnd; // Our HWND
  20. IServiceProvider * m_psp; // Service Manager
  21. IObjectManager * m_pom; // Object Manager
  22. BSTR * m_pbstrClusterName; // Cluster Name to analyze
  23. bool m_fNext; // If Next was pressed...
  24. bool m_fDisableBack; // When we passed the point of no return.
  25. bool m_fAborted; // Back was pressed and we need to tell the servers to abort.
  26. ECreateAddMode m_ecamCreateAddMode;// Creating or Adding?
  27. HTREEITEM m_htiReanalyze; // Reanalyze tree item handle.
  28. bool m_rgfSubReanalyzeAdded[ 5 ];
  29. // IUnknown
  30. LONG m_cRef; // Reference count
  31. // IClusCfgCallback
  32. OBJECTCOOKIE m_cookieCompletion; // Completion cookie
  33. bool m_fTaskDone; // Is the task done yet?
  34. HRESULT m_hrResult; // Result of the analyze task
  35. CTaskTreeView * m_pttv; // Task TreeView
  36. BSTR m_bstrLogMsg; // Logging message buffer
  37. IConnectionPoint * m_pcpcb; // IClusCfgCallback Connection Point
  38. DWORD m_dwCookieCallback; // Notification registration cookie
  39. // INotifyUI
  40. IConnectionPoint * m_pcpui; // INotifyUI Connection Point
  41. DWORD m_dwCookieNotify; // Notification registration cookie
  42. private: // methods
  43. CCommitPage(
  44. IServiceProvider * pspIn
  45. , ECreateAddMode ecamCreateAddModeIn
  46. , BSTR * pbstrClusterIn
  47. );
  48. ~CCommitPage( void );
  49. LRESULT OnInitDialog( void );
  50. LRESULT OnNotify( WPARAM idCtrlIn, LPNMHDR pnmhdrIn );
  51. LRESULT OnNotifyQueryCancel( void );
  52. LRESULT OnNotifySetActive( void );
  53. LRESULT OnNotifyWizNext( void );
  54. LRESULT OnNotifyWizBack( void );
  55. LRESULT OnCommand( UINT idNotificationIn, UINT idControlIn, HWND hwndSenderIn );
  56. HRESULT HrUpdateWizardButtons( void );
  57. HRESULT HrCleanupCommit( void );
  58. public: // methods
  59. static INT_PTR CALLBACK
  60. S_DlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
  61. // IUnknown
  62. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  63. STDMETHOD_( ULONG, AddRef )( void );
  64. STDMETHOD_( ULONG, Release )( void );
  65. // INotifyUI
  66. STDMETHOD( ObjectChanged )( OBJECTCOOKIE cookieIn);
  67. // IClusCfgCallback
  68. STDMETHOD( SendStatusReport )(
  69. LPCWSTR pcszNodeNameIn
  70. , CLSID clsidTaskMajorIn
  71. , CLSID clsidTaskMinorIn
  72. , ULONG ulMinIn
  73. , ULONG ulMaxIn
  74. , ULONG ulCurrentIn
  75. , HRESULT hrStatusIn
  76. , LPCWSTR pcszDescriptionIn
  77. , FILETIME * pftTimeIn
  78. , LPCWSTR pcszReferenceIn
  79. );
  80. }; // class CCommitPage