/* Ο προορισμός δεν πρέπει να είναι μικρότερος από την πηγή */
if(Sectors_in_HDD2<Sectors_in_HDD1)
{
printf("\n\n Ο δίσκος προορισμού δεν πρέπει να είναι μικρότερος από το δίσκο πηγής");
printf("\nΠιέστε οποιοδήποτε πλήκτρο στην έξοδο...");
getch();
exit(0);
}
/*Εάν όλα είναι εντάξει, αντιγράψτε όλους τους τομείς του δίσκου πηγής στο σκληρό δίσκο προορισμού */
gotoxy(10,15);printf("Αντιγράφοντας απόλυτος τομέας: ");
for(loop=0;loop<=Sectors_in_HDD1;loop=loop+120)
{
readabsolutesectors ( 0x80, loop, 120, buffer );
writeabsolutesectors ( 0x81, loop, 120, buffer );
gotoxy(36,15); printf("%ld",loop);
if(kbhit())
{
exit(0);
}
}
//// Παρουσιάστε το μήνυμα της ολοκλήρωσης \\\
printf("\n\n Η απεικόνιση δίσκων ολοκληρώνεται τώρα, πιέζει οποιοδήποτε πλήκτρο στην έξοδο...");
getch();
} //// Τέλος του κεντρικού αγωγού
Σχόλια στην κωδικοποίηση:
Στην κωδικοποίηση του προγράμματος που δίνεται νωρίτερα, για την απεικόνιση δίσκων προχωράμε με την εκτέλεση των ακόλουθων στόχων:
- Η δομή, γεωμετρία χρησιμοποιείται από την getdrivegeometry λειτουργία χρησιμοποιώντας την επέκταση INT 13H, αριθμός λειτουργίας 0x48. Για μια λεπτομερή περιγραφή στις επεκτάσεις INT 13H, αναφέρετε το κεφάλαιο "που οι μεγάλοι σκληροί δίσκοι χειρισμού", συζήτησαν νωρίτερα σε αυτό το βιβλίο.
|