|
|
//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1999-2002 Microsoft Corporation
//
// Module Name:
// TaskGatherInformation.h
//
// Description:
// CTaskGatherInformation implementation.
//
// Maintained By:
// Galen Barbee (GalenB) 22-NOV-1999
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
// CTaskGatherInformation
class CTaskGatherInformation : public ITaskGatherInformation { private: // IUnknown
LONG m_cRef;
// IDoTask / ITaskGatherInformation
OBJECTCOOKIE m_cookieCompletion; // Cookie to signal when task is completed.
OBJECTCOOKIE m_cookieNode; // Cookie of the node to gather from.
IClusCfgCallback * m_pcccb; // Marshalled UI Layer callback
BOOL m_fAdding; // If the node is to be added to a cluster...
ULONG m_cResources; // Resource counter
IObjectManager * m_pom; // Object manager
IClusCfgServer * m_pccs; // ClusCfgServer
BSTR m_bstrNodeName; // Hostname of the node
ULONG m_ulQuorumDiskSize; // Size of the selected quorum resource
IClusCfgManagedResourceInfo * m_pccmriQuorum; // Punk to the MT quorum resource object
BOOL m_fStop; BOOL m_fMinConfig; // Was minimal configuration selected?
CTaskGatherInformation( void ); ~CTaskGatherInformation( void );
// Private copy constructor to prevent copying.
CTaskGatherInformation( const CTaskGatherInformation & nodeSrc );
// Private assignment operator to prevent copying.
const CTaskGatherInformation & operator = ( const CTaskGatherInformation & nodeSrc );
STDMETHOD( HrInit )( void );
HRESULT HrGatherResources( IEnumClusCfgManagedResources * pResourceEnumIn, DWORD cTotalResourcesIn ); HRESULT HrGatherNetworks( IEnumClusCfgNetworks * pNetworkEnumIn, DWORD cTotalResourcesIn ); HRESULT HrSendStatusReport( LPCWSTR pcszNodeNameIn , CLSID clsidMajorIn , CLSID clsidMinorIn , ULONG ulMinIn , ULONG ulMaxIn , ULONG ulCurrentIn , HRESULT hrIn , int idsDescriptionIn , int idsReferenceIdIn );
HRESULT HrSendStatusReport( LPCWSTR pcszNodeNameIn , CLSID clsidMajorIn , CLSID clsidMinorIn , ULONG ulMinIn , ULONG ulMaxIn , ULONG ulCurrentIn , HRESULT hrIn , LPCWSTR pcszDescriptionIn , int idsReferenceIdIn );
STDMETHOD( SendStatusReport )( LPCWSTR pcszNodeNameIn , CLSID clsidTaskMajorIn , CLSID clsidTaskMinorIn , ULONG ulMinIn , ULONG ulMaxIn , ULONG ulCurrentIn , HRESULT hrStatusIn , LPCWSTR pcszDescriptionIn , LPCWSTR pcszReferenceIn );
public: // Methods
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
// IUnknown
STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut ); STDMETHOD_( ULONG, AddRef )( void ); STDMETHOD_( ULONG, Release )( void );
// IDoTask / ITaskGatherInformation
STDMETHOD( BeginTask )( void ); STDMETHOD( StopTask )( void ); STDMETHOD( SetCompletionCookie )( OBJECTCOOKIE cookieIn ); STDMETHOD( SetNodeCookie )( OBJECTCOOKIE cookieIn ); STDMETHOD( SetJoining )( void ); STDMETHOD( SetMinimalConfiguration )( BOOL fMinimalConfigIn );
}; //*** class CTaskGatherInformation
|