/* проверяющ если выдвинутая перегородка существует */
if(buffer[0x1C2+extended_pos*16]==0x05 ||
buffer[0x1C2+extended_pos*16]==0x0F )
{
temp_var1=(unsigned )buffer[partloc1];
*sec=temp_var1 & 0x003F; /* участок выдвинутой перегородки */
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); // конец делать-poka петля
/* проверите для других non активно главным образом перегородок на участке 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;
} //Конец переключателя
|