windows-nt/Source/XPSP1/NT/base/cluster/mgmt/cluscfg/wizard/commitpage.h
2020-09-26 16:20:57 +08:00

95 lines
3.5 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2001 Microsoft Corporation
//
// Module Name:
// CommitPage.h
//
// Maintained By:
// Galen Barbee (GalenB) 12-MAY-2000
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
class CCommitPage
: public INotifyUI
, public IClusCfgCallback
{
friend class CClusCfgWizard;
private: // data
HWND m_hwnd; // Our HWND
IServiceProvider * m_psp; // Service Manager
IObjectManager * m_pom; // Object Manager
BSTR * m_pbstrClusterName; // Cluster Name to analyze
bool m_fNext; // If Next was pressed...
bool m_fDisableBack; // When we passed the point of no return.
bool m_fAborted; // Back was pressed and we need to tell the servers to abort.
ECreateAddMode m_ecamCreateAddMode;// Creating or Adding?
HTREEITEM m_htiReanalyze; // Reanalyze tree item handle.
bool m_rgfSubReanalyzeAdded[ 5 ];
// 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; // Logging message buffer
IConnectionPoint * m_pcpcb; // IClusCfgCallback Connection Point
DWORD m_dwCookieCallback; // Notification registration cookie
// INotifyUI
IConnectionPoint * m_pcpui; // INotifyUI Connection Point
DWORD m_dwCookieNotify; // Notification registration cookie
private: // methods
CCommitPage(
IServiceProvider * pspIn
, ECreateAddMode ecamCreateAddModeIn
, BSTR * pbstrClusterIn
);
~CCommitPage( void );
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 HrCleanupCommit( void );
public: // methods
static INT_PTR CALLBACK
S_DlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
// IUnknown
STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
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 CCommitPage