我通过CreateFile读取了MBR信息,并保存在这样的一个结构中!
#pragma pack(1)//字节对齐
typedef struct _PARTITION_ENTRY//分区表结构
{
   UCHAR active;      //状态(是否被激活)         
   UCHAR StartHead;      //分区起始磁头号  
   UCHAR StartSector;    //分区起始扇区和柱面号,高2位为柱面号的第 9,10 位, 高字节为柱面号的低 8 位 
   UCHAR StartCylinder;   // 起始磁盘柱面     
   UCHAR PartitionType;  // 分区类型  
   UCHAR EndHead;       //分区结束磁头号
   UCHAR EndSector;    //分区结束扇区    
   UCHAR EndCylinder;  //  结束柱面号
   ULONG StartLBA;     // 扇区起始逻辑地址    
   ULONG TotalSector;  // 分区大小     
} PARTITION_ENTRY, *PPARTITION_ENTRY;//引导区512BYTE结构
typedef struct _MBR_SECTOR
{
   UCHAR             BootCode[446];//启动记录446 Byte
   PARTITION_ENTRY   Partition[4];//分区表结构64 Byte
   USHORT           Signature;//结束标志2 Byte
} MBR_SECTOR, *PMBR_SECTOR;#pragma pack()
读取出来出现了这样的问题!?
我机器上有四个分区,但是,读取出来的第一个分区的数据还算正常,但是从第二个分区开始就不正常了
第二个分区的大小(  ULONG TotalSector;  // 分区大小     )有60多G,和实际不符合!
第三个,第四个显示的都是0,
郁闷,是怎么回事啊????
难道这个数据结构有问题??