📄 general.h
字号:
#pragma pack(1)
typedef struct{
WORD Drive;
WORD Cylinder;
WORD Head;
WORD Sector;
DWORD NumSectors;
WORD Type;
WORD FatType;
WORD FatRelativeSector;
DWORD NumFatSectors;
char *Lfn;
DWORD RelativeSector;
WORD TotalHeads;
DWORD StartCluster;
WORD SectorsPerTrack;
WORD SectorsPerCluster;
WORD Attributes;
DWORD TotalSectors;
DWORD NTRelativeSector;
DWORD DataAreaSector;
BOOL Flag;
BOOL Net;
}DRIVEPACKET;
typedef BOOL WINAPI DLLFUNC(DWORD, DWORD, DWORD, DWORD, DWORD, LPBYTE, DWORD, BOOL);
typedef BOOL WINAPI DLLCHECK(DWORD);
typedef struct{
char Jmp[3];
char OEM_Name[8];
WORD BytesPerSector;
unsigned char SectorsPerCluster;
WORD ReservedSectors;
unsigned char NumFATs;
WORD NumRoot;
WORD TotalSectors;
unsigned char MediaDB;
WORD SectorsPerFAT;
WORD SectorsPerTrack;
WORD NumHeads;
DWORD NumHidSect;
DWORD ExtendedTotalSectors;
DWORD ExtendedSectorsPerFAT;
WORD Flags;
WORD Version;
DWORD RootStartCluster;
WORD FSInfoSec;
WORD BkUpBootSec;
WORD Reserved;
}BOOT;
typedef struct{
BYTE BootInd;
BYTE Head;
BYTE Sector;
BYTE Cylinder;
BYTE SysInd;
BYTE LastHead;
BYTE LastSector;
BYTE LastCylinder;
DWORD RelativeSector;
DWORD NumberSectors;
}PARTITION;
#define PART_TABLE 0
#define BOOT_RECORD 1
#define EXTENDED_PART 2
#define FAT16 3
#define FAT12 4
#define ROOT_DIR 5
#define FILES_FOLDERS 6
#define SECTORS_DUMP 7
#define RAW_DUMP 8
#define FAT32 9
#define SUB_DIR 10
#define UNKNOWN 11
#define NET 12
#define MS_DOS 0
#define LFN 1
#define START_CLUS 2
#define ATTR 3
#define SIZE 4
#define DATETIME 5
#define CREATEDATE 6
#define ACCESSDATE 7
typedef struct{
char Name[8];
char Extension[3];
BYTE Attributes;
BYTE Reserved;
WORD CreateTime2;
BYTE CreateTime;
WORD CreateDate;
WORD AccessDate;
WORD StartClusterHi;
WORD Time;
WORD Date;
WORD StartCluster;
DWORD Size;
}DIRECTORY;
typedef struct{
char Name[13];
BYTE Attributes;
WORD Time;
WORD Date;
WORD CreateDate;
WORD AccessDate;
DWORD StartCluster;
DWORD Size;
char *Lfn;
}FILEPACKET;
typedef struct{
WORD Cylinder;
WORD Head;
WORD Sector;
}CYLHEADSECT;
#define ATTR_READ 0x1
#define ATTR_HIDDEN 0x2
#define ATTR_SYSTEM 0x4
#define ATTR_VOLUME 0x8
#define ATTR_SUBDIR 0x10
#define ATTR_ARCHIVE 0x20
#define PART_UNKNOWN 0x00 //Unknown.
#define PART_DOS2_FAT 0x01 //12-bit FAT.
#define PART_DOS3_FAT 0x04 //16-bit FAT. Partition smaller than 32MB.
#define PART_EXTENDED 0x05 //Extended MS-DOS Partition.
#define PART_DOS4_FAT 0x06 //16-bit FAT. Partition larger than or equal to 32MB.
#define PART_DOS32 0x0B //32-bit FAT. Partition up to 2047GB.
#define PART_DOS32X 0x0C //Same as PART_DOS32(0Bh), but uses Logical Block Address Int 13h extensions.
#define PART_DOSX13 0x0E //Same as PART_DOS4_FAT(06h), but uses Logical Block Address Int 13h extensions.
#define PART_DOSX13X 0x0F //Same as PART_EXTENDED(05h), but uses Logical Block Address Int 13h extensions.
typedef struct{
BYTE Function;
WORD Drive;
WORD Cylinder;
WORD Head;
WORD Sector;
DWORD NumSectors;
DWORD NTRelativeSector;
DWORD RelativeSector;
BOOL Flag;
}SECTOR_FUNC, *PSECTOR_FUNC;
typedef struct{
BYTE Function;
DRIVEPACKET DrivePacket;
}SECTORS_FUNC, *PSECTORS_FUNC;
typedef struct{
WORD NumFloppies;
WORD NumHards;
BOOL Int13Extension;
}NUM_DISKS;
#define LOAD_SECTORS 1
#define WRITE_SECTORS 2
#define LOAD_SECTOR 3
#define WRITE_SECTOR 4
#define DISK_DETECT 1
#define SAY_NUM_DISKS 5
#define BUFFER_FILL 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -