windows-nt/Source/XPSP1/NT/base/efiutil/efilib/inc/fatdir.hxx
2020-09-26 16:20:57 +08:00

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