89 lines
1.6 KiB
C++
89 lines
1.6 KiB
C++
/*++
|
|
|
|
Copyright (c) 1992 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
rcache.hxx
|
|
|
|
Abstract:
|
|
|
|
This class models a read cache of equal sized blocks.
|
|
|
|
--*/
|
|
|
|
|
|
#if !defined(_READ_CACHE_DEFN_)
|
|
|
|
#define _READ_CACHE_DEFN_
|
|
|
|
|
|
#include "dcache.hxx"
|
|
#include "cache.hxx"
|
|
|
|
#if defined ( _AUTOCHECK_ ) || defined( _EFICHECK_ )
|
|
#define IFSUTIL_EXPORT
|
|
#elif defined ( _IFSUTIL_MEMBER_ )
|
|
#define IFSUTIL_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define IFSUTIL_EXPORT __declspec(dllimport)
|
|
#endif
|
|
|
|
|
|
DECLARE_CLASS(READ_CACHE);
|
|
|
|
|
|
class READ_CACHE : public DRIVE_CACHE {
|
|
|
|
public:
|
|
|
|
IFSUTIL_EXPORT
|
|
DECLARE_CONSTRUCTOR( READ_CACHE );
|
|
|
|
VIRTUAL
|
|
~READ_CACHE(
|
|
);
|
|
|
|
NONVIRTUAL
|
|
IFSUTIL_EXPORT
|
|
BOOLEAN
|
|
Initialize(
|
|
IN OUT PIO_DP_DRIVE Drive,
|
|
IN ULONG NumberOfCacheBlocks
|
|
);
|
|
|
|
VIRTUAL
|
|
BOOLEAN
|
|
Read(
|
|
IN BIG_INT StartingSector,
|
|
IN SECTORCOUNT NumberOfSectors,
|
|
OUT PVOID Buffer
|
|
);
|
|
|
|
VIRTUAL
|
|
BOOLEAN
|
|
Write(
|
|
IN BIG_INT StartingSector,
|
|
IN SECTORCOUNT NumberOfSectors,
|
|
IN PVOID Buffer
|
|
);
|
|
|
|
private:
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
Construct(
|
|
);
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
Destroy(
|
|
);
|
|
|
|
CACHE _cache;
|
|
|
|
};
|
|
|
|
|
|
#endif // _READ_CACHE_DEFN_
|