Nous laisser maintenant voient qu'une utilisation pratique d'union est programmation de rétablissement de données. Prenons un petit exemple. Le programme suivant est le petit modèle du mauvais programme de balayage de secteur pour une unité de disquettes (a : ) cependant ce n'est pas le modèle complet du mauvais logiciel de balayage de secteur.

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

 
 

Une utilisation pratique d'une union dans le rétablissement de données

Nous laisser maintenant voient qu'une utilisation pratique d'union est programmation de rétablissement de données. Prenons un petit exemple. Le programme suivant est le petit modèle du mauvais programme de balayage de secteur pour une unité de disquettes (a : ) cependant ce n'est pas le modèle complet du mauvais logiciel de balayage de secteur.

Examinons le programme :

#include<dos.h>
#include<conio.h>
int main()
{
int rp, head, track, sector, status;
char *buf;

union REGS in, out;
struct SREGS s;
clrscr();

/* Reset the disk system to initialize to disk */
printf("\n Resetting the disk system....");

for(rp=0;rp<=2;rp++)
{

in.h.ah = 0;
in.h.dl = 0x00;

int86(0x13,&in,&out);
}

printf("\n\n\n Now Testing the Disk for Bad Sectors....");

/* scan for bad sectors */
for(track=0;track<=79;track++)
{

for(head=0;head<=1;head++)
{

for(sector=1;sector<=18;sector++)
{

in.h.ah = 0x04;
in.h.al = 1;
in.h.dl = 0x00;
in.h.ch = track;
in.h.dh = head;
in.h.cl = sector;
in.x.bx = FP_OFF(buf);
s.es = FP_SEG(buf);

int86x(0x13,&in,&out,&s);

if(out.x.cflag)
{

status=out.h.ah;
printf("\n track:%d Head:%d Sector:%d Status ==0x%X",track,head,sector,status);
}
}
}
}
printf("\n\n\nDone");
return 0;
}

Nous laisser maintenant voient ce que regardera son rendement comme s'il y a mauvais secteur dans la disquette :

Resetting the disk system....

Now Testing the Disk for Bad Sectors....
track:0 Head:0 Sector:4 Status ==0xA
track:0 Head:0 Sector:5 Status ==0xA
track:1 Head:0 Sector:4 Status ==0xA
track:1 Head:0 Sector:5 Status ==0xA
track:1 Head:0 Sector:6 Status ==0xA
track:1 Head:0 Sector:7 Status ==0xA
track:1 Head:0 Sector:8 Status ==0xA
track:1 Head:0 Sector:11 Status ==0xA
track:1 Head:0 Sector:12 Status ==0xA
track:1 Head:0 Sector:13 Status ==0xA
track:1 Head:0 Sector:14 Status ==0xA
track:1 Head:0 Sector:15 Status ==0xA
track:1 Head:0 Sector:16 Status ==0xA
track:1 Head:0 Sector:17 Status ==0xA
track:1 Head:0 Sector:18 Status ==0xA
track:1 Head:1 Sector:5 Status ==0xA
track:1 Head:1 Sector:6 Status ==0xA
track:1 Head:1 Sector:7 Status ==0xA
track:1 Head:1 Sector:8 Status ==0xA
track:1 Head:1 Sector:9 Status ==0xA
track:1 Head:1 Sector:10 Status ==0xA
track:1 Head:1 Sector:11 Status ==0xA
track:1 Head:1 Sector:12 Status ==0xA
track:1 Head:1 Sector:13 Status ==0xA
track:1 Head:1 Sector:14 Status ==0xA
track:1 Head:1 Sector:15 Status ==0xA
track:1 Head:1 Sector:16 Status ==0xA
track:1 Head:1 Sector:17 Status ==0xA
track:1 Head:1 Sector:18 Status ==0xA
track:2 Head:0 Sector:4 Status ==0xA
track:2 Head:0 Sector:5 Status ==0xA
track:14 Head:0 Sector:6 Status ==0xA

Done

Il peut être un peu difficile de comprendre des fonctions et des interruptions employées dans ce programme pour vérifier le disque pour de mauvais secteurs et remettre à zéro le système de disque etc. mais vous n'avez pas besoin de s'inquiéter, nous allons apprendre toutes ces choses dans le BIOS et interrompre les sections de programmation plus tard dans les prochains prochains chapitres.

 


Previous page

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

 
 

page 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34

 
 

page 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50

 
 

page 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60

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