📄 fat.h
字号:
// FAT.h: interface for the FAT class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FAT_H__0BC24CE0_8738_4F73_A544_AD8C04DCF350__INCLUDED_)
#define AFX_FAT_H__0BC24CE0_8738_4F73_A544_AD8C04DCF350__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Struct.h"
class FAT
{
//Member function
public:
FAT(LPCTSTR pVolumeLab);
virtual ~FAT();
BOOL GetSpecificBPB(BPB_FAT &bpb);
BOOL GetDPB(DPB &dpb);
BOOL ReadSector(INT SectorNum, ABS_SEC_BUF &buffer);
BOOL ReadSector(INT SectorNum, WORD_SEC_BUF &buffer);
BOOL ReadFAT(INT SectorNum, FAT_BUF &buffer);
BOOL WriteSector(INT SectorNum, ABS_SEC_BUF &buffer);
BOOL WriteFAT(INT SectorNum, FAT_BUF &buffer);
BOOL WriteSector(INT SectorNum, WORD_SEC_BUF &buffer);
BOOL ReadCluster(INT ClusterNum, CHAR *buffer);
BOOL ReadCluster(INT ClusterNum, WORD *buffer);
BOOL WriteCluster(INT ClusterNum,CHAR *buffer);
BOOL WriteCluster(INT ClusterNum,WORD *buffer);
INT GetClusterSize();
INT GetFirstSecOfClu(INT ClusterNum);
BOOL GetEntryAddr(CHAR *sPath, DIRINCLU &DirEnt);
BOOL GetEntryContent(CHAR *sPath, Directory_FAT &EntryContent);
BOOL SetEntryContent(CHAR *sPath, Directory_FAT EntryContent);
INT GetNextCluster(INT CurCluster);
private:
BOOL GetDevice(LPCTSTR lpRoot);
BOOL BreakPath(const CHAR *sPath, PATHINFO &PathInfo);
BOOL IsLongFileName(const CHAR *sPath);
BOOL CopyByteStr(CByteArray &Destination,const CHAR *Source,INT BeginIndex,INT EndIndex);
BOOL DeletePathInfo(PATHINFO &PathInfo);
BOOL SplitFileName(const CHAR* FileName, CHAR* FilName, CHAR* ExtName);
BOOL GetEntryAddr(INT ClusterNum, CHAR *ClusterBuffer, CHAR *FileName, DIRINCLU &DirInClu);
BOOL GetEntryContent(CHAR *ClusterBuffer, INT EntryIndex, Directory_FAT &EntryContent);
BOOL IsFileNameEqual(CHAR *FileName, Directory_FAT EntryContent);
//Member data
private:
HANDLE m_hDevice;
LPCTSTR pVolume;
BPB_FAT BPB;
};
#endif // !defined(AFX_FAT_H__0BC24CE0_8738_4F73_A544_AD8C04DCF350__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -