Section courante

A propos

Section administrative du site

Interruption 21h

Fonction 71h, Sous-fonction 4Eh

Recherche du première occurrence de fichier aux noms long
Windows 9X

Description

Cette fonction permet de trouver le premier élément d'une liste de fichiers de format nom long.

Entrée

Registre Valeur ou description
AX 714Eh
CL Ce registre permet d'indiquer le masque des attributs allouable :
Bits Description
0 Ce bit est ignoré
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
3 à 4 Ces bits doivent toujours être à 0
5 Ce bit est ignoré
6 à 7 Ces bits doivent toujours être à 0
CH Ce registre permet d'indiquer le masque des attributs requis :
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
3 à 4 Ces bits doivent toujours être à 0
5 Ce bit contient la valeur 1 si l'attribut de fichier est en mode archivage
6 à 7 Ces bits doivent toujours être à 0
SI Ce registre permet d'indiquer le format de la date et l'heure :
Valeur Description
0000h Cette valeur permet d'indiquer le format du temps du fichier est sur 64 bits
0001h Cette valeur permet d'indiquer le format du temps du fichier DOS sur 32 bits original
DS:DX Cette paire de registre permet d'indiquer le critère de recherche pour la lecture du répertoire. Des caractères génériques comme «*» et «?» peuvent être utilisé pour remplacer des parties du nom ou des lettres. Pour sortir tous les fichiers, on utilise «*.*».
ES:DI Cette paire de registre permet d'indiquer l'adresse du tampon pour l'enregistrement de l'entrée de fichier :
Déplacement Taille Description
0000h Double mot Ce champ permet d'indiquer les attributs du fichier DOS :
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
3 à 4 Ces bits doivent toujours être à 0
5 Ce bit contient la valeur 1 si l'attribut de fichier est en mode archivage
6 à 7 Ces bits doivent toujours être à 0
8 Ce bit permet d'indiquer que le fichier est temporaire
0004h Quadruple mot Ce champ permet d'indiquer l'heure de création (intervalle de temps de 100 nanosecondes depuis le 1 janvier 1601).
000Ch Quadruple mot Ce champ permet d'indiquer le temps du dernière accès.
0014h Quadruple mot Ce champ permet d'indiquer le temps du dernière accès en écriture.
001Ch Double mot Ce champ permet d'indiquer la taille du fichier (partie haute de 32 bits).
0020h Double mot Ce champ permet d'indiquer la taille du fichier (partie basse de 32 bits).
0024h 8 octets Ce champ est réservé pour une utilisation future.
002Ch 260 octets Ce champ permet d'indiquer le nom du fichier long complet selon le format ASCIZ.
0130h 14 octets Ce champ permet d'indiquer le nom du fichier court selon le format ASCIZ. Ce nom existe pour des fins de compatibilité avec les anciennes versions de DOS.

Sortie

Registre Valeur ou description
CF Ce registre de drapeau de retenue permet d'indiquer le résultat de l'opération :
Valeur Description
0 Cette valeur permet d'indiquer l'opération a été un succès, dans ce cas :
Registre Description
AH 4Fh
AL La valeur de ce registre n'est pas conservé
CX Ce registre permet d'indiquer le drapeau de conversion Unicode :
Bit Description
0 Ce bit indique que le nom de fichier long contient un caractère de soulignement pour un caractère Unicode impossible à convertir
1 Ce bit indique que le nom de fichier court contient un caractère de soulignement pour un caractère Unicode impossible à convertir
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 d'erreur Description
7100h Ce code d'erreur indique que la fonction n'est pas supporté

Exemple

L'exemple suivant permet de lire le première entrée avec les paramètres de nom de fichier indiquer par «FileSpec» et l'attribut «Attribut» et retourner l'entrée dans l'enregistrement «SRec», le code d'erreur dans la variable «SysErr» et le «Handle» dans la variable «Handle» :

  1. ; Lecture du première entrée
  2. PUSH DS
  3.  LDS DX,FileSpec
  4.  LES DI,SRec
  5.  MOV CX,Attribut
  6.  XOR SI,SI
  7.  MOV AX,714Eh
  8. INT 21h
  9. POP DS
  10. SBB BX,BX
  11. MOV Handle,AX
  12. AND AX,BX
  13. MOV SysErr,AX
  14. ; Indique au système d'exploitation que la lecture est terminé
  15. MOV AX,71A1h
  16. MOV BX,Handle
  17. INT 21h
  18. SBB BX,BX
  19. AND AX,BX
  20. MOV SysErr,AX

Voir également

Système d'exploitation - Windows - Nom de fichiers de format court (8.3 filename SFN) et de format long (LFN)

Dernière mise à jour : Jeudi, le 3 mars 2016