|
Chapitre– 8
Fonctions et interruptions de Disque-BIOS manipulant avec C
Introduction
En ce chapitre nous discuterons les fonctions importantes de Disque-BIOS et d'autres fonctions importantes qui nous donnent la liberté aux utilisations et manipulent des interruptions dans notre programme avec C, avec la méthode facile et courte. Ces fonctions sont le dos - os du rétablissement de données et de la programmation de dépannage de disque. Ce sont les fonctions qui font au langage C " un langage d'assemblage à niveau élevé ".
fonctions de biosdisk et de _bios_disk
Ces deux fonctions sont la fonction la plus importante pour notre but de rétablissement de données et de la programmation de dépannage de disque. Nous emploierons ces fonctions plus du temps.
Ces deux sont les services d'unité de disques de BIOS et ont été définis dans bios.h où le biosdisk fonctionne au-dessous du niveau des dossiers sur les secteurs crus. Si ces fonctions sont employées même dans un peu le manque de soin, il peut détruire le contenu et les annuaires de dossier sur un disque dur. Fonctions de biosdisk et de _bios_disk, interruption 0x13 d'utilisation aux opérations de disque de question directement au BIOS. La fonction de _bios_disk est déclarée dans le programme de la façon suivante :
unsigned _bios_disk(unsigned cmd, struct diskinfo_t *dinfo);
Et la déclaration pour la fonction de disque de bios est comme suit :
int biosdisk(int cmd, int drive, int head, int track,
int sector, int nsects, void *buffer);
La signification de ces paramètres a été décrite dans la table suivante :
Paramètre |
Fonction |
Ce qui est elle ou ce qu'elle |
cmd |
Tous les deux |
Indique l'opération pour exécuter comme lu, écrit, vérifie etc. (voir la description du cmd, donnée après) |
dinfo |
_bios_disk |
Les points à un diskinfo_t structurent qui contient le restant
Paramètres requis par l'opération. (voir la description de la structure de diskinfo_t, donnée après) |
conduire |
biosdisk |
Indique quelle unité de disques doit être employée (0 pour a : , 1for b : et 0x80 pour le premier disque dur physique, 0x81 pour le deuxième et ainsi de suite.) |
tête
voie
secteur |
biosdisk
|
Ceux-ci indiquent l'endroit de secteur commençant dont
L'opération doit être commencée. |
nsects |
biosdisk |
Le nombre de secteurs à lire, écrivent, vérifient etc. |
amortisseur |
biosdisk |
Adresse de mémoire où des données doivent être lue ou écrite |
|
|