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.
111 lines
3.2 KiB
111 lines
3.2 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 2002 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// TaskCancelCleanup.h
|
|
//
|
|
// Description:
|
|
// CTaskCancelCleanup implementation.
|
|
//
|
|
// Maintained By:
|
|
// Galen Barbee (GalenB) 25-JAN-2002
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Make sure that this file is included only once per compile path.
|
|
#pragma once
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Include Files
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Constant Declarations
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class CTaskCancelCleanup
|
|
//
|
|
// Description:
|
|
// The class CTaskCancelCleanup is the cleanup task that is invoked
|
|
// whenever the wizard is canceled.
|
|
//
|
|
// Interfaces:
|
|
// ITaskCancelCleanup
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class CTaskCancelCleanup
|
|
: public ITaskCancelCleanup
|
|
, public IClusCfgCallback
|
|
{
|
|
private:
|
|
//
|
|
// Private member functions and data
|
|
//
|
|
|
|
LONG m_cRef;
|
|
bool m_fStop;
|
|
OBJECTCOOKIE m_cookieCluster;
|
|
IClusCfgCallback * m_picccCallback;
|
|
OBJECTCOOKIE m_cookieCompletion;
|
|
IObjectManager * m_pom;
|
|
INotifyUI * m_pnui;
|
|
|
|
CTaskCancelCleanup( void );
|
|
~CTaskCancelCleanup( void );
|
|
STDMETHOD( HrInit )( void );
|
|
HRESULT HrProcessNode( OBJECTCOOKIE cookieNodeIn );
|
|
HRESULT HrTaskCleanup( HRESULT hrIn );
|
|
HRESULT HrTaskSetup( void );
|
|
|
|
// Private copy constructor to prevent copying.
|
|
CTaskCancelCleanup( const CTaskCancelCleanup & nodeSrc );
|
|
|
|
// Private assignment operator to prevent copying.
|
|
const CTaskCancelCleanup & operator = ( const CTaskCancelCleanup & nodeSrc );
|
|
|
|
public:
|
|
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
|
|
|
|
//
|
|
// IUnknown
|
|
//
|
|
|
|
STDMETHOD_( ULONG, AddRef )( void );
|
|
STDMETHOD_( ULONG, Release )( void );
|
|
STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
|
|
|
|
//
|
|
// ITaskCancelCleanup
|
|
//
|
|
|
|
STDMETHOD( BeginTask )( void );
|
|
STDMETHOD( StopTask )( void );
|
|
STDMETHOD( SetClusterCookie )( OBJECTCOOKIE cookieClusterIn );
|
|
STDMETHOD( SetCompletionCookie )( OBJECTCOOKIE cookieCompletionIn );
|
|
|
|
//
|
|
// IClusCfgCallback
|
|
//
|
|
|
|
STDMETHOD( SendStatusReport )(
|
|
LPCWSTR pcszNodeNameIn
|
|
, CLSID clsidTaskMajorIn
|
|
, CLSID clsidTaskMinorIn
|
|
, ULONG ulMinIn
|
|
, ULONG ulMaxIn
|
|
, ULONG ulCurrentIn
|
|
, HRESULT hrStatusIn
|
|
, LPCWSTR pcszDescriptionIn
|
|
, FILETIME * pftTimeIn
|
|
, LPCWSTR pcszReferenceIn
|
|
);
|
|
|
|
}; //*** class CTaskCancelCleanup
|