mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
2.9 KiB
159 lines
2.9 KiB
/*++
|
|
|
|
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
|