windows-nt/Source/XPSP1/NT/base/fs/dfs/dfsm/server/crecover.hxx
2020-09-26 16:20:57 +08:00

91 lines
2.2 KiB
C++

//+-------------------------------------------------------------------------
//
// 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