Interruption 21h |
Fonction 3Fh |
Lecture dans un fichier par le Handle |
---|---|---|
DOS 2.0+, OS/2, Windows NT |
Description
Cette fonction permet d'effectuer la lecture dans un fichier en utilisant la méthode de l'identificateur de descripteur Handle. Étant donné qu'un descripteur de fichier Handle valide à partir d'une opération précédente d'ouverture ou de création, une adresse de tampon et une longueur en octets, transfère les données à la position actuelle du pointeur de fichier du fichier dans le tampon, puis met à jour la position du pointeur de fichier.
Entrée
Registre | Valeur ou description |
---|---|
AH | 3Fh |
BX | Ce registre permet d'indiquer le Handle de fichier ou du périphérique |
CX | Ce registre permet d'indiquer le nombre d'octets devant être lu |
DS:DX | Cette paire de registres permet d'indiquer l'adresse du tampon |
Sortie
Registre | Valeur ou description | |||
---|---|---|---|---|
FC | Ce registre de drapeau de retenue permet d'indiquer le résultat de l'opération : | |||
Valeur | Description | |||
0 | Cette valeur permet d'indiquer que la lecture a été un succès, dans ce cas | |||
Registre | Description | |||
AX | Ce registre permet d'indiquer le nombre d'octets ayant été lu | |||
1 | Cette valeur permet d'indiquer qu'une erreur s'est produite et dans ce cas : | |||
Registre | Description | |||
AX | Ce registre permet d'indiquer le code d'erreur : | |||
Code | Description | |||
5 | Cette erreur permet d'indiquer que l'accès est refusé | |||
6 | Cette erreur permet d'indiquer que le Handle est inconnu |
Remarques
- Si la lecture à partir d'un périphérique de caractères (comme l'entrée standard) en mode télétypé se produit, au plus une ligne d'entrée sera lue (c'est-à-dire jusqu'à un caractère de retour chariot ou la longueur spécifiée, selon la première éventualité).
- Si le drapeau de retenue est effacé mais que AX = 0, c'est que le pointeur de fichier était déjà en fin de fichier lorsque le programme a demandé la lecture.
- Si le drapeau de retenue est effacé mais que AX < CX, alors un enregistrement partiel a été lu à la fin du fichier ou il y a une erreur.
- A partir de la version 3.0 du système d'exploitation DOS, si le programme s'exécute sur un réseau, l'utilisateur doit avoir des droits d'accès en lecture sur le répertoire et le fichier pour que la fonction fonctionne correctement.
Références
La Bible du PC: Programmation système - Sixième Edition, Edition Micro-Application, Michael Tischer, 1996, ISBN: 2-7429-0544-8, page 1527.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 214 à 216.
Dernière mise à jour : Jeudi, le 3 mars 2016