Η παραγωγή του προγράμματος θα επιδειχθεί όπως παρόμοια με αυτό:
Χώρισμα 1 - FAT32
Χώρισμα 2 - FAT32
Χώρισμα 3 - FAT32
Συνολικά χωρίσματα στο δίσκο = 3
Αρχικός αριθμός τομέα χωρίσματος 1 = 63
Αρχικός αριθμός τομέα χωρίσματος2 = 11277693
Αρχικός αριθμός τομέα χωρίσματος3= 25623738 |
Σχόλια στην κωδικοποίηση:
Η δομή diskaddrpacket χρησιμοποιείται για να διαβάσει το σχήμα πακέτων διευθύνσεων δίσκων, που χρησιμοποιείται από τη λειτουργία readabsolutesectors.
Η λειτουργία All_partition_information() χρησιμοποιείται για να βρεί όλες τις παραμέτρους όλων των χωρισμάτων από την είσοδο χωρισμάτων.
Αν και σε αυτό το πρόγραμμα, έχουμε επιδείξει μόνο το σύστημα αρχείων και οι σχετικές πληροφορίες τομέα όλων των διαθέσιμων λογικών χωρισμάτων στο δίσκο, εσείς μπορούν επίσης να τυπώσουν τις πληροφορίες άλλων παραμέτρων των πληροφοριών χωρισμάτων με τη χρησιμοποίηση της λειτουργίας All_partition_information() με λίγο περισσότερο printf.
Η κωδικοποίηση της λειτουργίας είναι η ακόλουθη:
/* Λειτουργία για να βρεί τις πληροφορίες όλων των λογικών χωρισμάτων την είσοδο χωρισμάτων τους */
All_partition_information( unsigned long *star_sec,
unsigned *no_par,
long *sec, char *buffer,
unsigned char *report_par )
{
unsigned long fat_check;
unsigned long *sectors_part;
static long se_p;
int temp_var1,active_offset,active_pos=0,i, extended_pos=0, partloc1;
unsigned long b_sec,se;
unsigned char active_par;
long relative_sec;
long no_sectors;
if(*sec==0 || *sec==1)
se_p=0;
do{
se=*sec;
/* Διαβάστε τον απόλυτο τομέα καθορισμένο μέχρι * το SEC */
readabsolutesectors(drive_num,*sec,1,buffer);
|