fonctions d'absread et d'abswrite
Ces fonctions ont été définies dans Dos.h. La fonction d'absread lit les secteurs absolus de disque et la fonction d'abswrite écrit les secteurs absolus de disque. L'interruption 0x25 de DOS d'utilisations d'absread de fonction pour lire les secteurs spécifiques de disque et le DOS d'utilisations d'abswrite de fonction interrompent 0x26 pour écrire les secteurs spécifiques de disque.
L'absolu a lu ou écrit le montant d'opérations de la façon séquentielle en incrémentant des secteurs point par point et est complètement exempt de tête et les nombres etc. de voie c'est le travail du BIOS de l'ordinateur de traduire les secteurs absolus à la voie, aux nombres respectifs de tête et de secteur.
L'absolu a lu et écrit des opérations sont recommandés dans de tels programmes où nous allons effectuer l'opération lecture/écriture sur le disque entier et nous voulons éviter le codage supplémentaire et faire une boucle dans notre programme pour augmenter la vitesse du programme à le plus rapidement.
Tous les deux l'absread et abswrite de fonctions, ignorent la structure logique d'un disque et ne prêtent aucune attention aux dossiers, aux graisses, ou aux annuaires. Ces fonctions exécutent directement l'absolu lu et l'absolu écrivent l'opération sur la surface du disque, c'est la raison pour laquelle si utilisé incorrectement, l'abswrite peut recouvrir des dossiers, des annuaires, et des graisses.
La déclaration de la fonction d'absread est comme suit:
int absread(int drive, int nsects, long lsect,
void *buffer);
et la fonction d'abswrite est déclarée comme suit:
int abswrite(int drive, int nsects, long lsect,
void *buffer);
Là où la signification des paramètres est comme suit:
Param. |
Ce qui il Is/Does |
commande |
Nombre d'entraînement à lire (ou écrire) : 0 = A, 1 = B, etc. |
nsects |
Nombre de secteurs à lire (ou écrire) |
lsect |
Nombre logique commençant de secteur |
amortisseur |
Adresse de mémoire où les données doivent être lues (ou écrit) |
Sur le succès, tous les deux retour 0 de fonctions. Quand il y a n'importe quelle erreur, renvoyer -1 et placer l'erreur non à la valeur du registre de HACHE retourné par l'appel de système.
Le nombre de secteurs pour lu ou écrivent l'opération est limité à 64K ou à la taille de l'amortisseur, celui qui est plus petit. Toutefois nous apprendrons l'utilisation de la mémoire énorme en prochains chapitres d'excéder hors de la limite 64K de mémoire, pour développer un programme très rapide. |
|