Fonction Recover_the_file (), fonction pour sauver les données des secteurs à partir du nombre de secteur start_file au nombre de secteur end_file, programme pour cacher ou montrer le curseur sur l'écran

Files Recovery Software
Accueil Coordonnées Soutien à la clientèle Télécharger la démo Produits  

 
 

Le codage de la fonction Recover_the_file () a été donné après :

/* Fonctionner pour sauver les données des secteurs à partir de nombre de secteur start_file au nombre de secteur 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;
}


Le codage des readabsolutesectors de fonction a été donné après. La fonction emploie le nombre INTERNE 42H de la prolongation 13H et de la fonction pour lire les secteurs.

Pour la description détaillée de la fonction, se référer le chapitre « faisant des protections » discutées plus tôt en ce livre. Le codage de la fonction est comme suit :

//// Fonction pour lire les secteurs absolus \\\\

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
}

La fonction suivante est employée pour cacher ou montrer le curseur sur l'écran. Les utilisations de fonction interrompent 10H, la fonction 01H pour placer le type de curseur. Le codage est comme suit :

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

le show_hide_cursor (32, 0) cache le curseur et le show_hide_cursor (6, 7) recherche le curseur en arrière. le SSL est ligne de départ pour le curseur et l'esl est ligne de fin pour le curseur.

La petite description de la fonction 01H de 10H INTERNE est comme suit :

10H INTERNE (16 ou 0x10)

Fonction 01H (ou 0x01) --> placer le type de curseur

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

Returns: Nothing.

Commentaires :

La fonction est employée pour placer le type de curseur en choisissant les lignes commençantes et terminales pour le curseur de matériel de clingnotement en mode d'affichage des textes. Dans les modes de graphiques, le curseur de matériel n'est pas disponible.

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

 
 
Récupération de données livre
 
Chapitre 1 Une vue d'ensemble de rétablissement de données
Chapitre 2 Introduction des disques durs
Chapitre 3 Approche logique aux disques et à l'OS
Chapitre 4 Systèmes de numération
Chapitre 5 Introduction de la programmation de C
Chapitre 6 Introduction aux fondations d'ordinateur
Chapitre 7 Commandes nécessaires de DOS
Chapitre 8 Fonctions et interruptions de Disque-BIOS manipulant avec C
Chapitre 9 Manipulation de grands disques durs
Chapitre 10 Rétablissement de données de disque souple corrompu
Chapitre 11 Fabrication des protections
Chapitre 12 MBR de lecture et de modification avec la programmation
Chapitre 13 DBR de lecture et de modification avec la programmation
Chapitre 14 Programmation pour le rétablissement " de dossier cru "
Chapitre 15 Programmation pour des essuie-glace de données
Chapitre 16 Développer plus d'utilités pour des disques
Annexe Glossaire des limites de rétablissement de données
 
 
Pro Data Doctor

Accueil

Produits

Coordonnées

Soutien à la clientèle

Télécharger la démo

Conditions générales de vente

 
Pro Data Doctor