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.

88 lines
1.6 KiB

  1. /*++
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. rcache.hxx
  5. Abstract:
  6. This class models a read cache of equal sized blocks.
  7. --*/
  8. #if !defined(_READ_CACHE_DEFN_)
  9. #define _READ_CACHE_DEFN_
  10. #include "dcache.hxx"
  11. #include "cache.hxx"
  12. #if defined ( _AUTOCHECK_ ) || defined( _EFICHECK_ )
  13. #define IFSUTIL_EXPORT
  14. #elif defined ( _IFSUTIL_MEMBER_ )
  15. #define IFSUTIL_EXPORT __declspec(dllexport)
  16. #else
  17. #define IFSUTIL_EXPORT __declspec(dllimport)
  18. #endif
  19. DECLARE_CLASS(READ_CACHE);
  20. class READ_CACHE : public DRIVE_CACHE {
  21. public:
  22. IFSUTIL_EXPORT
  23. DECLARE_CONSTRUCTOR( READ_CACHE );
  24. VIRTUAL
  25. ~READ_CACHE(
  26. );
  27. NONVIRTUAL
  28. IFSUTIL_EXPORT
  29. BOOLEAN
  30. Initialize(
  31. IN OUT PIO_DP_DRIVE Drive,
  32. IN ULONG NumberOfCacheBlocks
  33. );
  34. VIRTUAL
  35. BOOLEAN
  36. Read(
  37. IN BIG_INT StartingSector,
  38. IN SECTORCOUNT NumberOfSectors,
  39. OUT PVOID Buffer
  40. );
  41. VIRTUAL
  42. BOOLEAN
  43. Write(
  44. IN BIG_INT StartingSector,
  45. IN SECTORCOUNT NumberOfSectors,
  46. IN PVOID Buffer
  47. );
  48. private:
  49. NONVIRTUAL
  50. VOID
  51. Construct(
  52. );
  53. NONVIRTUAL
  54. VOID
  55. Destroy(
  56. );
  57. CACHE _cache;
  58. };
  59. #endif // _READ_CACHE_DEFN_