Funktion Recover_the_file (), Funktion, zum der Daten der Sektoren, die von der Sektorzahl zu speichern start_file zur Sektorzahl end_file beginnen, Programm, den Cursor auf dem Schirm zu verstecken oder zu zeigen

Files Recovery Software
Heim Kontakt Details Customer Support Demo herunterladen Produkte  

 
 

Die Kodierung der Funktion Recover_the_file () ist zunächst gegeben worden:

/* Arbeiten, um die Daten der Sektoren zu speichern, die von beginnen Sektorzahl start_file zur Sektorzahl 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;
}

Die Kodierung der Funktion readabsolutesectors ist zunächst gegeben worden. Die Funktion verwendet die INTERNE Verlängerung 13H und Funktion Zahl 42H, um die Sektoren zu lesen.

Für die ausführliche Beschreibung der Funktion, das Kapitel verweisen „, welches die Unterstützungen bildet“, die früh in diesem Buch besprochen werden. Die Kodierung der Funktion ist, wie folgt:

//// Funktion, zum zu lesen absolutes Sektor\ \ \ \

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

/* Invoke the specified Function of INT 13H with
segment register values */

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

else
return 1 ; // success
}

Die folgende Funktion wird, um den Cursor auf dem Schirm zu verstecken verwendet oder zu zeigen. Der Funktion Gebrauch unterbricht 10H, Funktion 01H, um die Cursor-Art einzustellen. Die Kodierung ist, wie folgt:

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) versteckt den Cursor und das show_hide_cursor (6, 7) zurückholt den Cursor zurück. SSL ist Anfangszeile für Cursor und esl ist Endelinie für Cursor.

Die kleine Beschreibung der Funktion 01H INTERNEN 10H ist, wie folgt:

INTERNES 10H (16 oder 0x10)

Funktion 01H (oder 0x01) --> Cursor-Art einstellen

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

Returns: Nothing.

Anmerkungen:

Die Funktion wird verwendet, um die Cursor-Art einzustellen, indem man die beginnenden und Endlinien für den Blinkenkleinteil-Cursor im TextAnzeigemodus vorwählt. In den Grafikmodi ist der Kleinteil-Cursor nicht vorhanden.

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-Buch
 
Kapitel 1 Ein überblick über Daten-Wiederaufnahme
Kapitel 2 Einleitung der Festplatten
Kapitel 3 Logische Annäherung an Scheiben und OS
Kapitel 4 Zahlensysteme
Kapitel 5 Einleitung der C Programmierung
Kapitel 6 Einleitung in eine Computer-Grundlagen
Kapitel 7 Notwendige DOS Befehle
Kapitel 8 Scheibe-BIOS Funktionen und Unterbrechungen, die mit C anfassen
Kapitel 9 Behandlung der großen Festplatten
Kapitel 10 Daten-Wiederaufnahme von verdorbenem Floppy-Disc
Kapitel 11 Bilden der Unterstützungen
Kapitel 12 Lesenund änderndes MBR mit der Programmierung
Kapitel 13 Lesenund änderndes DBR mit der Programmierung
Kapitel 14 Programmierung für "Raw File" Wiederaufnahme
Kapitel 15 Programmierung für Daten-Wischer
Kapitel 16 Entwickeln von mehr Dienstprogrammen für Scheiben
Anlage Glossar der Daten-Wiederaufnahme Bezeichnungen
 
 
Pro Data Doctor

Heim

Produkte

Kontakt Details

Customer Support

Demo herunterladen

Allgemeine Geschäftsbedingungen

 
Pro Data Doctor