94 lines
3.6 KiB
C++
94 lines
3.6 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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
|
|
{
|
|
friend class CClusCfgWizard;
|
|
|
|
private: // data
|
|
HWND m_hwnd; // Our HWND
|
|
IServiceProvider * m_psp; // Service Manager
|
|
ULONG * m_pcCount; // Count of computers in list
|
|
BSTR ** m_prgbstrComputerName; // List of computer names
|
|
BSTR * m_pbstrClusterName; // Cluster Name to analyze
|
|
bool m_fNext; // If Next was pressed...
|
|
ECreateAddMode m_ecamCreateAddMode; // Creating or adding?
|
|
OBJECTCOOKIE m_cookieCluster; // Cluster cookie
|
|
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.
|
|
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
|
|
CAnalyzePage( IServiceProvider * pspIn,
|
|
ECreateAddMode ecamCreateAddModeIn,
|
|
ULONG * pcCountIn,
|
|
BSTR ** prgbstrComputersIn,
|
|
BSTR * pbstrClusterIn
|
|
);
|
|
~CAnalyzePage( 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 HrCleanupAnalysis( void );
|
|
|
|
public: // methods
|
|
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
|