/*如果将现有检测治*/
if(buffer[0x1C2+extended_pos*16]==0x05 ||
buffer[0x1C2+extended_pos*16]==0x0F )
{
temp_var1=(unsigned )buffer[partloc1];
*sec=temp_var1 & 0x003F; /* sector of
extended
partition */
if(*sec!=0)
{
se_p=se+relative_sec+no_sectors;
*sec=se_p;
}
else
{ *sec=-1;
break;
}
} //在发言结束
else
{
if(*sec>0)
*sec=-1;
break;
}
} while(1); // 截止去,环
/* 检查以外0区的板一手 */
if(*sec==0)
{
for(i=0;i<4;i++)
{
active_par=buffer[446+i*16];
/* 档案系统识别标志字节 */
if((buffer[0x1C2+i*16]==(char)0x06 ||
buffer[0x1C2+i*16]==(char)0x0B ||
buffer[0x1C2+i*16]==(char)0x0C ||
buffer[0x1C2+i*16]==(char)0x07 ||
buffer[0x1C2+i*16]==(char)0x0E ||
buffer[0x1C2+i*16]==(char)0x04) && active_par!=0x80)
{
switch(buffer[0x1C2+active_pos*16])
{
/* 为NTFS治 */
case 0x07: report_par[*no_par]='N';
printf("\n 治 -%d = NTFS",
*no_par+1);
break;
/* FAT32的分割 */
case 0x0B:
case 0x0C: report_par[*no_par]='3';
printf("\n 治 -%d = FAT32",
*no_par+1);
break;
/* FAT16的分割 */
case 0x04:
case 0x06:
case 0x0E: report_par[*no_par]='1';
printf("\n 治-%d = FAT16",
*no_par+1);
break;
} // 转换结束
|