windows-nt/Source/XPSP1/NT/base/efiutil/efilib/inc/fatvol.hxx

160 lines
2.9 KiB
C++
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
fatvol.hxx
Abstract:
This class implements FAT only VOLUME items.
--*/
#if !defined(FATVOL)
#define FATVOL
#include "volume.hxx"
#include "rfatsa.hxx"
//
// Forward references
//
DECLARE_CLASS( FAT_VOL );
DECLARE_CLASS( MESSAGE );
#if !defined( _SETUP_LOADER_ )
class FAT_VOL : public VOL_LIODPDRV {
public:
DECLARE_CONSTRUCTOR( FAT_VOL );
VIRTUAL
~FAT_VOL(
);
NONVIRTUAL
FORMAT_ERROR_CODE
Initialize(
IN PCWSTRING NtDriveName,
IN OUT PMESSAGE Message DEFAULT NULL,
IN BOOLEAN ExclusiveWrite DEFAULT FALSE,
IN BOOLEAN FormatMedia DEFAULT FALSE,
IN MEDIA_TYPE MediaType DEFAULT Unknown
);
//
// Chkdsk's version of initialize.
//
NONVIRTUAL
BOOLEAN
Initialize(
IN OUT PMESSAGE Message DEFAULT NULL,
IN PCWSTRING NtDriveName DEFAULT NULL,
IN BOOLEAN OnlyIfDirty DEFAULT FALSE
);
NONVIRTUAL
BOOLEAN
IsFileContiguous(
IN PCWSTRING FullPathFileName,
IN OUT PMESSAGE Message DEFAULT NULL,
OUT PULONG NumBlocks DEFAULT NULL
);
NONVIRTUAL
BOOLEAN
ContiguityReport(
IN PCWSTRING DirectoryPath,
IN PCDSTRING FilesToCheck,
IN ULONG NumberOfFiles,
IN OUT PMESSAGE Message
);
NONVIRTUAL
PVOL_LIODPDRV
QueryDupVolume(
IN PCWSTRING NtDriveName,
IN OUT PMESSAGE Message DEFAULT NULL,
IN BOOLEAN ExclusiveWrite DEFAULT FALSE,
IN BOOLEAN FormatMedia DEFAULT FALSE,
IN MEDIA_TYPE MediaType DEFAULT Unknown
) CONST;
private:
NONVIRTUAL
VOID
Construct (
);
NONVIRTUAL
VOID
Destroy(
);
REAL_FAT_SA _fatsa;
};
#else // _SETUP_LOADER_ is defined
class FAT_VOL : public VOL_LIODPDRV {
public:
DECLARE_CONSTRUCTOR( FAT_VOL );
VIRTUAL
~FAT_VOL(
);
NONVIRTUAL
BOOLEAN
Initialize(
IN ULONG DeviceHandle
);
VIRTUAL
ARC_STATUS
MarkDirty(
);
VIRTUAL
ARC_STATUS
Flush(
IN BOOLEAN JustHandle
);
private:
NONVIRTUAL
VOID
Construct (
);
NONVIRTUAL
VOID
Destroy(
);
REAL_FAT_SA _fatsa;
};
#endif // _SETUP_LOADER_
#endif