⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 general.h

📁 visual c++ 实例编程
💻 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 + -