Λειτουργία Recover_the_file(), λειτουργία για να σώσει τα στοιχεία των τομέων που αρχίζουν από τον αριθμό τομέα start_file στον αριθμό τομέα end_file, πρόγραμμα για να κρυφτεί ή να παρουσιαστεί ο δρομέας στην οθόνη

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


Η κωδικοποίηση της λειτουργίας Recover_the_file() έχει δοθεί έπειτα:

/* Λειτουργία για να σώσει τα στοιχεία των τομέων που αρχίζουν από τον αριθμό τομέα start_file στον αριθμό τομέα end_file */

Recover_the_file()
{
FILE *fp;
if((fp=fopen(filename, "wb"))==NULL)
{
gotoxy(10,23);printf("Error Opening File %s",
filename);
getch();
exit(1);
}

for(i=start_file;i<=end_file;i++)
{
gotoxy(19,16);cprintf("Scanning Sector Number =
%ld", i);
readabsolutesectors ( 0x81, i, 1, buffer );
fwrite(buffer,512,1, fp);
}
fclose(fp);
gotoxy(15,18);cprintf("[ %d ] Files Recovered...",num);
gotoxy(5,19);cprintf(" ");
return;
}


Η κωδικοποίηση των readabsolutesectors λειτουργίας έχει δοθεί έπειτα. Η λειτουργία χρησιμοποιεί τον αριθμό 42H επέκτασης και λειτουργίας INT 13H για να διαβάσει τους τομείς.

Για τη λεπτομερή περιγραφή της λειτουργίας, αναφέρετε το κεφάλαιο "καθιστώντας τα στηρίγματα" συζητημένα νωρίτερα σε αυτό το βιβλίο. Η κωδικοποίηση της λειτουργίας είναι η ακόλουθη:

//// Λειτουργία για να διαβάσει τον απόλυτο τομέα (σ) \\\\

int readabsolutesectors ( int drive,
unsigned long sectornumber,
int numofsectors,
void *buffer )
{

union REGS i, o ;
struct SREGS s ;
struct diskaddrpacket pp ;

pp.packetsize = 16 ; /* packet size = 10H */

pp.reserved = 0 ; /* Reserved = 0 */

pp.blockcount = numofsectors ; /* Number of sectors
to read */

/* για τον απομονωτή στοιχείων */

pp.bufferaddress = (char far*) MK_FP ( FP_SEG((void far*)buffer), FP_OFF((void far*)buffer));

pp.blocknumber[0] = sectornumber ; /* Sector number
to read */

pp.blocknumber[1] = 0 ; /* Block number */

i.h.ah = 0x42 ; /* Function Number*/

i.h.dl = drive ; /* Φυσικός αριθμός Drive */

/* ds:si for buffer Parameters */
i.x.si = FP_OFF ( (void far*)&pp ) ;

/* ds:si for buffer Parameters */
s.ds = FP_SEG ( (void far*)&pp ) ;

/* Επικαλεσθείτε τη διευκρινισμένη λειτουργία του INT 13H με
τιμές καταλόγων τμήματος */

int86x ( 0x13, &i, &o, &s ) ;
if ( o.x.cflag==1)
return 0 ; //failure

else
return 1 ; // success
}

Η ακόλουθη λειτουργία χρησιμοποιείται για να κρύψει ή για να παρουσιάσει το δρομέα στην οθόνη. Οι χρήσεις λειτουργίας διακόπτουν 10H, λειτουργία 01H για να θέσουν τον τύπο δρομέων. Η κωδικοποίηση είναι η ακόλουθη:

show_hide_cursor( ssl, esl )
int ssl, esl ;
{
union REGS i, o ;

i.h.ah = 1 ;
i.h.ch = ssl ;
i.h.cl = esl ;
i.h.bh = 0 ;

int86 ( 16, &i, &o ) ;
return;
}

show_hide_cursor( 32, 0 ) κρύβει το δρομέα και show_hide_cursor(6 ..7) ανακτούν το δρομέα που η πίσω SSL είναι αρχική γραμμή για το δρομέα και το ESL τελειώνει τη γραμμή για το δρομέα.

Η μικρή περιγραφή της λειτουργίας 01H του INT 10H είναι η ακόλουθη:

INT 10H (16 or 0x10)

Λειτουργία 01H (ή 0x01) > θέστε τον τύπο δρομέων

Call with: AH = 01H
CH bits 0-4 = starting line for cursor
CL bits 0-4 = ending line for cursor

Returns: Nothing.

Σχολιάζει:

Η λειτουργία χρησιμοποιείται για να θέσει τον τύπο δρομέων με την επιλογή της έναρξης και του τελειώματος των γραμμών για το να αναβοσβήσει δρομέα υλικού στον τρόπο επίδειξης κειμένων. Στους τρόπους γραφικής παράστασης, ο δρομέας υλικού δεν είναι διαθέσιμος.

Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

page 1 | 2 | 3 | 4 | 5 | 6

 


 

Chapter 15

 
 

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17

Next page

 

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Resources | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek