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.

92 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. Author:
  8. Norbert Kusters (norbertk) 23-Apr-92
  9. --*/
  10. #if !defined(_READ_CACHE_DEFN_)
  11. #define _READ_CACHE_DEFN_
  12. #include "dcache.hxx"
  13. #include "cache.hxx"
  14. #if defined ( _AUTOCHECK_ )
  15. #define IFSUTIL_EXPORT
  16. #elif defined ( _IFSUTIL_MEMBER_ )
  17. #define IFSUTIL_EXPORT __declspec(dllexport)
  18. #else
  19. #define IFSUTIL_EXPORT __declspec(dllimport)
  20. #endif
  21. DECLARE_CLASS(READ_CACHE);
  22. class READ_CACHE : public DRIVE_CACHE {
  23. public:
  24. IFSUTIL_EXPORT
  25. DECLARE_CONSTRUCTOR( READ_CACHE );
  26. VIRTUAL
  27. ~READ_CACHE(
  28. );
  29. NONVIRTUAL
  30. IFSUTIL_EXPORT
  31. BOOLEAN
  32. Initialize(
  33. IN OUT PIO_DP_DRIVE Drive,
  34. IN ULONG NumberOfCacheBlocks
  35. );
  36. VIRTUAL
  37. BOOLEAN
  38. Read(
  39. IN BIG_INT StartingSector,
  40. IN SECTORCOUNT NumberOfSectors,
  41. OUT PVOID Buffer
  42. );
  43. VIRTUAL
  44. BOOLEAN
  45. Write(
  46. IN BIG_INT StartingSector,
  47. IN SECTORCOUNT NumberOfSectors,
  48. IN PVOID Buffer
  49. );
  50. private:
  51. NONVIRTUAL
  52. VOID
  53. Construct(
  54. );
  55. NONVIRTUAL
  56. VOID
  57. Destroy(
  58. );
  59. CACHE _cache;
  60. };
  61. #endif // _READ_CACHE_DEFN_