Leaked source code of windows server 2003
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.

79 lines
2.3 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997 - 1998
  5. //
  6. // File: usntree.hxx
  7. //
  8. // Contents: Tree traversal for usn scopes
  9. //
  10. // History: 07-May-97 SitaramR Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #pragma once
  14. #include <update.hxx>
  15. //+-------------------------------------------------------------------------
  16. //
  17. // Class: CUsnTreeTraversal
  18. //
  19. // Purpose: Tree traversal for usn scopes
  20. //
  21. // History: 07-May-97 SitaramR Created
  22. //
  23. //--------------------------------------------------------------------------
  24. class CUsnTreeTraversal : public CTraverse
  25. {
  26. public:
  27. CUsnTreeTraversal( CiCat & cicat,
  28. CUsnMgr & usnMgr,
  29. ICiManager & ciManger,
  30. const CLowerFunnyPath & lcaseFunnyRootPath,
  31. BOOL fDoDeletions,
  32. BOOL & fAbort,
  33. BOOL fProcessRoot,
  34. VOLUMEID volumeId,
  35. USN const & usnLow = 0,
  36. USN const & usnHigh = MAXLONGLONG,
  37. BOOL fUserInitiated = FALSE );
  38. virtual BOOL ProcessFile( const CLowerFunnyPath & lcaseFunnyPath );
  39. virtual void TraversalIdle( BOOL fStalled );
  40. void EndProcessing();
  41. virtual BOOL IsEligibleForTraversal( const CLowerFunnyPath & lcaseFunnyDir ) const;
  42. static BOOL GetUsnInfo( const CFunnyPath & funnyPath,
  43. CiCat &cicat,
  44. VOLUMEID volumeId,
  45. USN &usn,
  46. FILEID &fileId,
  47. WORKID& widParent,
  48. FILETIME &ftLastWrite );
  49. private:
  50. void Add( WORKID wid );
  51. USN _usnLow; // Ignore files with USN < _usnLow
  52. USN _usnHigh; // Ignore files with USN > _usnHigh
  53. CiCat & _cicat;
  54. CUsnMgr & _usnMgr;
  55. ICiManager & _ciManager;
  56. unsigned _cDoc;
  57. BOOL _fDoDeletions;
  58. VOLUMEID _volumeId;
  59. CDocList _docList;
  60. ULONG _cProcessed;
  61. BOOL _fUserInitiated;
  62. };