Interruption 21h |
Fonction 11h |
Rechercher le première entrée d'un répertoire par le FCB |
---|---|---|
CP/M, DOS 1.0+, OS/2, Windows NT |
Description
Cette fonction permet de rechercher le première entrée d'un répertoire en utilisant l'ancienne méthode du FCB (File Control Block).
Entrée
Registre | Valeur ou description | ||
---|---|---|---|
AH | 11h | ||
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é 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 | Une entrée de fichier a été trouvé | |
255 | Aucune entrée de fichier n'a été trouvé |
Remarques
- Vous pouvez intégré des caractères génériques comme «?», où le point d'interrogation désigne n'importe quel lettre, pour trouver des fichiers. Dans les versions 3.0 et ultérieures du système d'exploitation DOS, le caractère générique «*» peut également être utilisé dans un nom de fichier. Si «?» ou «*» est utilisé, cette fonction renvoie le premier nom de fichier correspondant.
- Vous devriez utilisez l'interruption 21h, fonction 1Ah pour définir le DTA pour qu'il pointe vers un tampon de taille adéquate avant d'appeler cette fonction.
- Un FCB étendu doit être utilisé pour rechercher des fichiers ayant les attributs système, caché, lecture seulement, répertoire ou volume.
- Si un FCB étendu est utilisé, son octet d'attribut détermine le type de recherche étant effectué. Si l'octet d'attribut contient 00h, seuls les fichiers ordinaires sont trouvés. Si le bit d'attribut d'étiquette de volume est défini, seules les étiquettes de volume seront renvoyées (le cas échéant). Si tout autre attribut ou combinaison d'attributs est défini (tel que caché, système ou en lecture seulement), ces fichiers et tous les fichiers ordinaires seront mis en correspondance.
- A partir de la version 2.0 du système d'exploitation DOS, l'interruption 21h, la fonction 4Eh, permettant un accès complet à la structure de répertoire hiérarchique, 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 1500.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 143 à 145.
Quick Reference: Programmer avec les fonctions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04061-8, page 26 à 27.
Dernière mise à jour : Jeudi, le 3 mars 2016