Interruption 21h |
Fonction 5Bh |
Créer un nouveau fichier par le Handle |
---|---|---|
DOS 3.0+, OS/2, Windows NT |
Description
Cette fonction permet de créer un nouveau fichier en utilisant la méthode du Handle.
Entrée
Registre | Valeur ou description | |
---|---|---|
AH | 5Bh | |
CX | Ce registre permet d'indiquer les attributs de fichier : | |
Bits | Description | |
0 | Ce bit contient la valeur 1 si l'attribut de fichier est en mode lecture seulement | |
1 | Ce bit contient la valeur 1 si l'attribut de fichier est en mode caché | |
2 | Ce bit contient la valeur 1 si l'attribut de fichier est en mode système | |
5 | Ce bit contient la valeur 1 si l'attribut de fichier est en mode archivage | |
DS:DX | Cette paire de registres permet d'indiquer l'adresse du nom de fichier sous forme d'une chaine de caractères ASCIZ |
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 l'identificateur de descripteur Handle | |||
1 | Cette valeur permet d'indiquer une erreur, dans ce cas : | |||
Registre | Description | |||
AX | Ce registre permet d'indiquer le code d'erreur : | |||
Valeur | Description | |||
03h | Cette erreur permet d'indiquer que le chemin est introuvable | |||
04h | Cette erreur permet d'indiquer qu'il y a trop de fichiers ouverts simultanément | |||
05h | Cette erreur permet d'indiquer que l'accès est refusé | |||
50h | Cette erreur permet de signaler que le fichier est déjà existant |
Remarques
- La fonction échouera si : aucun élément du chemin spécifié n'existe, un fichier avec le même chemin d'accès (c'est-à-dire le même nom de fichier et la même extension au même emplacement dans la structure du répertoire) existe déjà ou le fichier est en cours de création dans le répertoire racine et le répertoire racine est plein. De plus, à partir de la version 3.0 du système d'exploitation DOS le programme s'exécute sur un réseau et l'utilisateur n'ayant pas les droits d'accès suffisants au répertoire contenant le fichier peut faire échoué cette fonction.
- Le fichier reçoit généralement un attribut normal (0) lors de sa création et est ouvert pour les opérations de lecture et d'écriture. L'attribut peut ensuite être modifié avec l'interruption 21h, fonction 43h.
- Voir également l'interruption 21h, fonction 3Ch, 5Ah et 6Ch, lesquelles offrent d'autres moyens de créer des fichiers.
- Cette fonction peut être utilisée pour mettre en oeuvre des sémaphores dans un environnement réseau ou multitâche. Si la fonction réussit, le programme a acquis le sémaphore. Pour libérer le sémaphore, le programme supprime simplement le fichier.
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 279 à 280.
Dernière mise à jour : Jeudi, le 3 mars 2016