92 lines
1.6 KiB
C++
92 lines
1.6 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1990 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
fatdir.hxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This class is a virtual template for a FAT directory. It will be
|
||
|
passed to functions who wish to query the directory entries from the
|
||
|
directory without knowledge of how or where the directory is stored.
|
||
|
|
||
|
The user of this class will not be able to read or write the
|
||
|
directory to disk.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#if !defined(FATDIR_DEFN)
|
||
|
|
||
|
#define FATDIR_DEFN
|
||
|
|
||
|
#if defined ( _AUTOCHECK_ ) || defined( _EFICHECK_ )
|
||
|
#define UFAT_EXPORT
|
||
|
#elif defined ( _UFAT_MEMBER_ )
|
||
|
#define UFAT_EXPORT __declspec(dllexport)
|
||
|
#else
|
||
|
#define UFAT_EXPORT __declspec(dllimport)
|
||
|
#endif
|
||
|
|
||
|
DECLARE_CLASS( FATDIR );
|
||
|
DECLARE_CLASS( WSTRING );
|
||
|
DEFINE_POINTER_TYPES( PFATDIR );
|
||
|
|
||
|
|
||
|
CONST BytesPerDirent = 32;
|
||
|
|
||
|
|
||
|
class FATDIR : public OBJECT {
|
||
|
|
||
|
public:
|
||
|
|
||
|
VIRTUAL
|
||
|
PVOID
|
||
|
GetDirEntry(
|
||
|
IN LONG EntryNumber
|
||
|
) PURE;
|
||
|
|
||
|
NONVIRTUAL
|
||
|
UFAT_EXPORT
|
||
|
PVOID
|
||
|
SearchForDirEntry(
|
||
|
IN PCWSTRING FileName
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
PVOID
|
||
|
GetFreeDirEntry(
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
BOOLEAN
|
||
|
Read(
|
||
|
) PURE;
|
||
|
|
||
|
VIRTUAL
|
||
|
BOOLEAN
|
||
|
Write(
|
||
|
) PURE;
|
||
|
|
||
|
VIRTUAL
|
||
|
LONG
|
||
|
QueryNumberOfEntries(
|
||
|
) PURE;
|
||
|
|
||
|
NONVIRTUAL
|
||
|
UFAT_EXPORT
|
||
|
BOOLEAN
|
||
|
QueryLongName(
|
||
|
IN LONG EntryNumber,
|
||
|
OUT PWSTRING LongName
|
||
|
);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
DECLARE_CONSTRUCTOR( FATDIR );
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif // FATDIR_DEFN
|