////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2000-2001 Microsoft Corporation // // Module Name: // AnalyzePage.h // // Maintained By: // Galen Barbee (GalenB) 12-MAY-2000 // ////////////////////////////////////////////////////////////////////////////// #pragma once class CAnalyzePage : public INotifyUI , public IClusCfgCallback { private: // data HWND m_hwnd; // Our HWND CClusCfgWizard * m_pccw; // Wizard BOOL m_fNext; // If Next was pressed... BOOL m_fAborted; // Back was pressed and we need to tell the servers to abort. ECreateAddMode m_ecamCreateAddMode; // Creating or adding? ITaskAnalyzeCluster * m_ptac; // IUnknown LONG m_cRef; // Reference count // IClusCfgCallback OBJECTCOOKIE m_cookieCompletion; // Completion cookie BOOL m_fTaskDone; // Is the task done yet? HRESULT m_hrResult; // Result of the analyze task CTaskTreeView * m_pttv; // Task TreeView BSTR m_bstrLogMsg; // Reusable logging buffer. DWORD m_dwCookieCallback; // Notification registration cookie // INotifyUI DWORD m_dwCookieNotify; // Notification registration cookie private: // methods LRESULT OnInitDialog( void ); LRESULT OnNotify( WPARAM idCtrlIn, LPNMHDR pnmhdrIn ); LRESULT OnNotifyQueryCancel( void ); LRESULT OnNotifySetActive( void ); LRESULT OnNotifyWizNext( void ); LRESULT OnNotifyWizBack( void ); LRESULT OnCommand( UINT idNotificationIn, UINT idControlIn, HWND hwndSenderIn ); HRESULT HrUpdateWizardButtons( void ); HRESULT HrCleanupAnalysis( void ); HRESULT HrUnAdviseConnections( void ); public: // methods CAnalyzePage( CClusCfgWizard * pccwIn , ECreateAddMode ecamCreateAddModeIn ); ~CAnalyzePage( void ); static INT_PTR CALLBACK S_DlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam ); // IUnknown STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut ); STDMETHOD_( ULONG, AddRef )( void ); STDMETHOD_( ULONG, Release )( void ); // INotifyUI STDMETHOD( ObjectChanged )( OBJECTCOOKIE cookieIn); // IClusCfgCallback STDMETHOD( SendStatusReport )( LPCWSTR pcszNodeNameIn , CLSID clsidTaskMajorIn , CLSID clsidTaskMinorIn , ULONG ulMinIn , ULONG ulMaxIn , ULONG ulCurrentIn , HRESULT hrStatusIn , LPCWSTR pcszDescriptionIn , FILETIME * pftTimeIn , LPCWSTR pcszReferenceIn ); }; //*** class CAnalyzePage