96 lines
1.6 KiB
C++
96 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.
|
|
|
|
Author:
|
|
|
|
Norbert P. Kusters (norbertk) 4-Dec-90
|
|
|
|
--*/
|
|
|
|
#if !defined(FATDIR_DEFN)
|
|
|
|
#define FATDIR_DEFN
|
|
|
|
#if defined ( _AUTOCHECK_ )
|
|
#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
|