Functie Recover_the_file(), functie om de gegevens van de sectoren op te slaan die van sectoraantal start_file beginnen aan end_file sectoraantal, programma om de curseur op het scherm te verbergen of te tonen

Files Recovery Software
Home Contactgegevens Customer Support Download Demo Producten  

 
 

De codage van de functie Recover_the_file(is) gegeven daarna:

/* Functie om de gegevens van de sectoren op te slaan die van sectoraantal start_file beginnen aan sectoraantal 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;
}


De codage van functiereadabsolutesectors is daarna gegeven. De functie gebruikt het aantal 42H van de Uitbreiding en van de functie van int. 13H om de sectoren te lezen.

Voor de uitvoerige beschrijving van de functie, verwijs het hoofdstuk "Makend Steunen" die vroeger in dit boek worden besproken. De codage van de functie is als volgt:

//// Functie om absolute sector (s) te lezen \\\\

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 */

/* for Data buffer */

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 ; /* Physical Drive Number */

/* 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 ) ;

/* Haal de gespecificeerde Functie van int. 13H met aan
de waarden van het segmentregister */

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

else
return 1 ; // success
}

De volgende functie wordt gebruikt om de curseur op het scherm te verbergen of te tonen. Het functiegebruik onderbreekt 10H, Functie 01H om het curseurtype te plaatsen. De codage is als volgt:

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 ) verbergt de curseur en show_hide_cursor(winnen 6..7) de curseur terug achterssl beginnende lijn voor curseur is en ESL beëindigt lijn voor curseur.

De kleine beschrijving van Functie 01H van int. 10H is als volgt:

INT 10H (16 or 0x10)

Functie 01H (or 0x01) --> Het vastgestelde Type van Curseur

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

Returns: Nothing.

Becommentariëert:

De functie wordt gebruikt om het curseurtype te plaatsen door de aanvang van en het einde van lijnen voor de het knipperen hardwarecurseur op de wijze van de tekstvertoning te selecteren. Op de grafiekwijzen, is de hardwarecurseur niet beschikbaar.


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

 

 
 
Data Recovery boek
 
Hoofdstuk-1 Een Overzicht van de Terugwinning van Gegevens
Hoofdstuk-2 Inleiding van Harde Schijven
Hoofdstuk-3 Logische Benadering van Schijven en OS
Hoofdstuk-4 De Systemen van het aantal
Hoofdstuk-5 Inleiding van de Programmering van C
Hoofdstuk-6 Inleiding aan de Grondbeginselen van de Computer
Hoofdstuk-7 De noodzakelijke Bevelen van Dos
Hoofdstuk-8 Schijf-bios functioneert en onderbreekt Behandeling met C
Hoofdstuk-9 Behandelende Grote Harde Schijven
Hoofdstuk-10 De Terugwinning van gegevens van Bedorven Floppy
Hoofdstuk-11 Het maken van Steunen
Hoofdstuk-12 Het lezen van en het Wijzigen van MBR met Programmering
Hoofdstuk-13 Het lezen van en het Wijzigen van DBR met Programmering
Hoofdstuk-14 Programmering de Terugwinning voor van het "Ruwe Dossier"
Hoofdstuk-15 Programmering voor de Wissers van Gegevens
Hoofdstuk-16 Het ontwikkelen van meer Nut voor Schijven
Bijlage Verklarende woordenlijst van de Termijnen van de Terugwinning van Gegevens
 
 
Pro Data Doctor

Home

Producten

Contactgegevens

Customer Support

Download Demo

Algemene Voorwaarden

 
Pro Data Doctor