Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
badfile.hxx
Abstract:
This module contains the declarations for the NTFS_BAD_CLUSTER_FILE class, which models the bad cluster file for an NTFS volume.
The DATA attribute of the bad cluster file is a non-resident attribute to which bad clusters are allocated. It is stored as a sparse file with LCN = VCN.
Author:
Bill McJohn (billmc) 18-June-91
Environment:
ULIB, User Mode
--*/ #if !defined( NTFS_BAD_CLUSTER_FILE_DEFN )
#define NTFS_BAD_CLUSTER_FILE_DEFN
#include "frs.hxx"
DECLARE_CLASS( IO_DP_DRIVE ); DECLARE_CLASS( NTFS_ATTRIBUTE); DECLARE_CLASS( NTFS_MASTER_FILE_TABLE ); DECLARE_CLASS( NTFS_BITMAP ); DECLARE_CLASS( NUMBER_SET );
class NTFS_BAD_CLUSTER_FILE : public NTFS_FILE_RECORD_SEGMENT {
public:
UNTFS_EXPORT DECLARE_CONSTRUCTOR( NTFS_BAD_CLUSTER_FILE );
UNTFS_EXPORT VIRTUAL ~NTFS_BAD_CLUSTER_FILE( );
UNTFS_EXPORT NONVIRTUAL BOOLEAN Initialize( IN OUT PNTFS_MASTER_FILE_TABLE Mft );
NONVIRTUAL BOOLEAN Create( IN PCSTANDARD_INFORMATION StandardInformation, IN OUT PNTFS_BITMAP Bitmap, IN PCNUMBER_SET BadClusters );
NONVIRTUAL BOOLEAN VerifyAndFix( IN OUT PNTFS_BITMAP VolumeBitmap, IN OUT PNTFS_INDEX_TREE RootIndex, OUT PBOOLEAN Changes, IN FIX_LEVEL FixLevel, IN OUT PMESSAGE Message );
NONVIRTUAL BOOLEAN Add( IN LCN Lcn );
NONVIRTUAL BOOLEAN Add( IN PCNUMBER_SET ClustersToAdd );
NONVIRTUAL BOOLEAN AddRun( IN LCN Lcn, IN BIG_INT RunLength );
NONVIRTUAL BOOLEAN IsInList( IN LCN Lcn );
NONVIRTUAL BIG_INT QueryNumBad( );
NONVIRTUAL BOOLEAN Flush( IN OUT PNTFS_BITMAP Bitmap, IN OUT PNTFS_INDEX_TREE ParentIndex DEFAULT NULL );
private:
NONVIRTUAL VOID Construct( );
NONVIRTUAL VOID Destroy( );
PNTFS_ATTRIBUTE _DataAttribute; };
#endif
|