Interruption 21h |
Fonction 40h |
Écriture dans un fichier par le Handle |
---|---|---|
DOS 2.0+, OS/2, Windows NT |
Description
Cette fonction permet d'effectuer l'écriture dans un fichier en utilisant la méthode du Handle. Étant donné un descripteur de fichier Handle valide à partir d'une opération d'ouverture ou de création précédente, une adresse de tampon et une longueur en octets, elle transfère les données du tampon dans le fichier, puis elle met à jour la position du pointeur de fichier.
Entrée
Registre | Valeur ou description |
---|---|
AH | 40h |
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 écrit. Si la valeur de ce registre vaut 0, alors le fichier est tronqué et étendu à la position courante |
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 l'opération a été un succès, dans ce cas : | |||
Registre | Description | |||
AX | Ce registre permet d'indiquer le nombre d'octets ayant été écrit | |||
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 le drapeau de retenue est effacé mais que AX < CX, alors un enregistrement partiel a été écrit ou il y a une erreur. Cette situation peut être dû à un Ctrl+Z (1Ah) incorporé dans les données si la destination est un périphérique de caractères en mode télétypé ou à une condition de disque pleine si la destination est un fichier.
- Si la fonction est appelée avec CX = 0, le fichier est tronqué ou étendu à la position actuelle du pointeur de fichier.
- 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 écriture sur le répertoire et le fichier.
Exemple
L'exemple suivant permet de tronquer le fichier spécifié par la variable «Handle» à la position courante :
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 216 à 218.
Dernière mise à jour : Jeudi, le 3 mars 2016