Source code of Windows XP (NT5)
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.

90 lines
2.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // File: crecover.hxx
  4. //
  5. // Contents: CRecover Class to help with writing recovery properties as
  6. // DFS Manager Operations go along.
  7. //
  8. // History: 09-Mar-93 SudK Created.
  9. //
  10. //--------------------------------------------------------------------------
  11. #ifndef __CRECOVER_INCLUDED
  12. #define __CRECOVER_INCLUDED
  13. #include "svclist.hxx"
  14. //+-------------------------------------------------------------------------
  15. //
  16. // Name: CRecover
  17. //
  18. // Synopsis: Support Class to write appropriate Recovery Properties and to
  19. // handle failures during such Recovery Props operations.
  20. //
  21. // Methods: CRecover
  22. // ~CRecover
  23. // Initialize
  24. // SetOperationStart
  25. // SetOperStage
  26. // SetOperationDone
  27. // SetDefaultProps
  28. // GetRecoveryProps
  29. // SetRecoveryProps
  30. //
  31. // History: 09-Mar-93 SudK Created.
  32. //
  33. //--------------------------------------------------------------------------
  34. class CRecover
  35. {
  36. friend class CDfsVolume;
  37. private:
  38. ULONG _OperStage;
  39. ULONG _Operation;
  40. ULONG _RecoveryState;
  41. BYTE *_RecoveryBuffer;
  42. BYTE _ulongBuffer[sizeof(ULONG)];
  43. CStorage *_pPSStg;
  44. public:
  45. //
  46. // Destructor for Class
  47. //
  48. ~CRecover();
  49. //
  50. // Constructors for Class
  51. //
  52. CRecover(void);
  53. VOID Initialize(
  54. CStorage *pPSStg);
  55. DWORD SetOperationStart(
  56. ULONG Operation,
  57. CDfsService *pRecoverySvc);
  58. VOID SetOperationDone();
  59. VOID SetOperStage(
  60. ULONG OperStage);
  61. VOID SetDefaultProps();
  62. DWORD GetRecoveryProps(
  63. ULONG *RecoverState,
  64. CDfsService **ppRecoverySvc);
  65. private:
  66. VOID SetRecoveryProps(
  67. ULONG RecoveryState,
  68. PBYTE RecoveryBuffer,
  69. BOOLEAN bCreate);
  70. };
  71. #endif // __CRECOVER_INCLUDED