Interruption 21h |
Fonction 10h |
Fermer un fichier par le FCB |
---|---|---|
CP/M, DOS 1.0+, OS/2, Windows NT |
Description
Cette fonction permet de fermer un fichier en utilisant l'ancienne méthode du FCB (File Control Block).
Entrée
Registre | Valeur ou description | ||
---|---|---|---|
AH | 10h | ||
DS:DX | Cette paire de registres permet d'indiquer l'adresse du tampon FCB du fichier. Vous pouvez utiliser le bloc de FCB normal : | ||
Déplacement | Longueur | Description | |
00h | 1 octet | Ce champ contient l'unité (0 = unité courante, 1=A:, 2=B:, 3=C:, 4=D:,...) | |
01h | 8 octets | Ce champ contient le nom du fichier avec des espaces s'il n'est pas assez long | |
09h | 3 octets | Ce champ contient l'extension du fichier avec des espaces s'il n'est pas assez long | |
0Ch | 2 octets (1 mot) | Ce champ contient le numéro du bloc courant | |
0Eh | 2 octets (1 mot) | Ce champ contient la taille de l'enregistrement | |
10h | 4 octets (2 mots) | Ce champ contient la taille du fichier | |
14h | 2 octets (1 mot) | Ce champ contient la date de la dernière modification | |
16h | 2 octets (1 mot) | Ce champ contient l'heure de la dernière modification | |
18h | 8 octets | Ce champ est réservé pour un usage interne ou futur | |
20h | 1 octet | Ce champ contient le numéro de l'enregistrement courant | |
21h | 4 octets | Ce champ contient le numéro de l'enregistrement pour l'accès séquentiel | |
ou le bloc de FCB étendue : | |||
Déplacement | Longueur | Description | |
00h | 1 octet | Ce champ contient un identificateur de FCB étendu (FFh) | |
01h | 5 octets | Ce champ est réservés pour un usage interne ou futur | |
06h | 1 octet | Ce champ contient les attributs de fichier | |
07h | 1 octet | Ce champ contient l'unité (0 = unité courante, 1=A:, 2=B:, 3=C:, 4=D:,...) | |
08h | 8 octets | Ce champ contient le nom du fichier avec des espaces s'il n'est pas assez long | |
10h | 3 octets | Ce champ contient l'extension du fichier avec des espaces s'il n'est pas assez long | |
13h | 2 octets (1 mot) | Ce champ contient le numéro du bloc courant | |
15h | 2 octets (1 mot) | Ce champ contient la taille de l'enregistrement | |
17h | 4 octets (2 mots) | Ce champ contient la taille du fichier | |
1Bh | 2 octets (1 mot) | Ce champ contient la date de la dernière modification | |
1Dh | 2 octets (1 mot) | Ce champ contient l'heure de la dernière modification | |
1Fh | 8 octets | Ce champ est réservé pour un usage interne ou futur | |
27h | 1 octet | Ce champ contient le numéro de l'enregistrement courant | |
28h | 4 octets | Ce champ contient le numéro de l'enregistrement pour l'accès séquentiel |
Sortie
Registre | Valeur ou description | |
---|---|---|
AL | Ce registre permet d'indiquer le résultat de l'opération : | |
Valeur | Description | |
0 | Le fichier est fermé et l'entrée du répertoire a été mis-a-jour | |
255 | Le fichier est introuvable dans le répertoire spécifié |
Remarques
- Naturellement, seul un fichier ouvert préalablement peut être fermer par cette fonction.
- Les versions MS-DOS 1 et 2 ne détectent pas de manière fiable un changement de disquette et une erreur peut se produire si l'utilisateur change de disque pendant qu'un fichier est toujours ouvert sur cette unité de disque. Dans le pire des cas, le répertoire et la table d'allocation de fichiers du disque nouvellement inséré peuvent être endommagés ou détruits.
- A partir de la version 2.0 du système d'exploitation DOS, l'interruption 21h, fonction 3Eh doit être utilisée de préférence à cette fonction.
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 1501.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 142 à 143.
Quick Reference: Programmer avec les fonctions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04061-8, page 26.
Dernière mise à jour : Jeudi, le 3 mars 2016