//+------------------------------------------------------------------------- // // File: crecover.hxx // // Contents: CRecover Class to help with writing recovery properties as // DFS Manager Operations go along. // // History: 09-Mar-93 SudK Created. // //-------------------------------------------------------------------------- #ifndef __CRECOVER_INCLUDED #define __CRECOVER_INCLUDED #include "svclist.hxx" //+------------------------------------------------------------------------- // // Name: CRecover // // Synopsis: Support Class to write appropriate Recovery Properties and to // handle failures during such Recovery Props operations. // // Methods: CRecover // ~CRecover // Initialize // SetOperationStart // SetOperStage // SetOperationDone // SetDefaultProps // GetRecoveryProps // SetRecoveryProps // // History: 09-Mar-93 SudK Created. // //-------------------------------------------------------------------------- class CRecover { friend class CDfsVolume; private: ULONG _OperStage; ULONG _Operation; ULONG _RecoveryState; BYTE *_RecoveryBuffer; BYTE _ulongBuffer[sizeof(ULONG)]; CStorage *_pPSStg; public: // // Destructor for Class // ~CRecover(); // // Constructors for Class // CRecover(void); VOID Initialize( CStorage *pPSStg); DWORD SetOperationStart( ULONG Operation, CDfsService *pRecoverySvc); VOID SetOperationDone(); VOID SetOperStage( ULONG OperStage); VOID SetDefaultProps(); DWORD GetRecoveryProps( ULONG *RecoverState, CDfsService **ppRecoverySvc); private: VOID SetRecoveryProps( ULONG RecoveryState, PBYTE RecoveryBuffer, BOOLEAN bCreate); }; #endif // __CRECOVER_INCLUDED