Commentaires sur le codage :
La fonction intègrent () est le module réel d'exécuter le rétablissement du dossier personnalisé par l'utilisateur, dans ce programme de rétablissement.
Le nom de fichier avec le chemin de destination pour stocker le dossier récupéré est stocké dans le *Filename_with_path d'indicateur de caractère. S'il y a n'importe quelle erreur en ouvrant le dossier de destination, le message d'erreur est montré et l'utilisateur est prompt encore pour entrer dans la destination.
Le _bios_disk de fonction (_DISK_READ, &dinfo) ; lit les données du dossier du secteur de données du secteur de disque par le secteur, indiqué par le dinfo de structure et stocké dans le buf d'amortisseur de données. Ces données de 512 bytes sont écrites au dossier de destination. Ceci est répété jusqu'à ce que le dossier complet soit intégré.
Le status=verify_the_sector de fonction (cylindre, tête, secteur) ; vérifie le secteur à lire. Si le statut = 10, il représente un mauvais secteur (0xA). Le codage de la fonction a été donné ci-dessous :
/// Vérifier le secteur. (Aucune donnée n'est transférée ici) \\\
int verify_the_sector(unsigned int c,unsigned int h,unsigned int s)
{
int status;
char *buf;
union REGS in, out;
struct SREGS sg;
in.h.ah = 0x04; /*Nombre de fonction*/
in.h.al = 1; /* Nombre de secteurs à vérifier*/
in.h.dl = 0x00; /* Nombre d'entraînement pour A :*/
in.h.ch = c; /* Nombre de cylindre*/
in.h.dh = h; /* Nombre principal */
in.h.cl = s; /* Nombre de secteur */
in.x.bx = FP_OFF(buf);/* Excentrage*/
sg.es = FP_SEG(buf); /* Segment */
int86x(0x13,&in,&out,&sg); /* Appeler la fonction 4H de 13H INTERNE */
if(out.x.cflag)
{
status=out.h.ah;
}
return(status);
}
Commentaires sur le codage :
Le verify_the_sector de fonction (), vérifie le secteur à lire par la fonction et les retours de _bios_disk () le statut de l'opération. La fonction emploie 13H INTERNE et fonction 4H pour vérifier le secteur.
le *buf est l'amortisseur de données, 0x04 est le nombre de fonction indiqué par in.h.ah = 0x04 ; et in.h.al = 1 ; instruit pour vérifier l'un secteur à la fois. in.h.dl = 0x00 ; est employé pour le nombre d'entraînement pour le lecteur souple A : , c, h, et s sont les nombres de cylindre, principaux et de secteur.
La fonction int86x () est employée pour appeler 13H INTERNE (fonction 4H) avec des valeurs de registre de segment. Le statut de l'opération est retourné par le statut de nombre entier.
Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi, translated using machine translation. See original English contents on Data recovery book pages. |
|
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)
|
 |
|
|