Interruption 21h |
Fonction 44h, Sous-fonction 0Ch |
IOCTL: Contrôle d'Entrée/Sortie |
---|---|---|
DOS 3.2+, OS/2, Windows NT |
Description
Cette fonction de type IOCTL permet d'effectuer des contrôles d'Entrée/Sortie sur un périphérique de caractères.
Entrée
Registre | Valeur ou description | |
---|---|---|
AX | 440Ch | |
BX | Handle | |
CH | Code de catégorie : | |
Code de catégorie | Description | |
00h | Ce code de catégorie indique une entrée et sortie NUL. | |
01h | Ce code de catégorie indique les ports séries «COM1:», «COM2:», «COM3:» (et «COM4:» pour le DOS 3.3+). | |
03h | Ce code de catégorie indique le clavier et l'écran «CON» (DOS 3.3+). | |
05h | Ce code de catégorie indique les ports séries «LPT1:», «LPT2:» et «LPT3:». | |
07h | Ce code de catégorie indique la souris (MS-DOS 4 version européenne). | |
9Eh | Ce code de catégorie indique un pilote de contrôle d'accès média. | |
CL | Code de fonction : | |
Code de fonction | Description | |
45h | Cette fonction indique de fixer le positionnement du compteur d'itérations. | |
4Ah | Cette fonction indique de fixer le code de page (DOS 3.3+). | |
4Ch | Cette fonction indique de fixer le débute de la préparation du code de page (DOS 3.3+). | |
4Dh | Cette fonction indique de fixer la fin de la préparation du code de page (DOS 3.3+). | |
65h | Cette fonction permet de demander le compteur d'itérations. | |
6Ah | Cette fonction permet de demander le code de page (DOS 3.3+). | |
6Bh | Cette fonction permet de demander la préparation d'une liste (DOS 3.3+). | |
DS:DX | Adresse du bloc de paramètres |
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 | Tout va bien, si a été appelé avec CL=65h, 6Ah ou 6Bh, DS:DX=Adresse du bloc de paramètres | |||
1 | Cette valeur permet d'indiquer qu'une erreur s'est produite, dans ce cas : | |||
Registre | Description | |||
AX | Ce registre permet d'indiquer le code d'erreur |
Remarques
- Si le code inférieur est 45h (fixe le compteur d'itération) ou 65h (demande le compteur d'itération), le bloc de paramètres est simplement un tampon de 2 octets contenant ou recevant le nombre d'itérations pour l'imprimante. Cet appel n'est valide que pour les pilotes d'imprimante prenant en charge la sortie jusqu'à occupé, et détermine le nombre de fois que le pilote de périphérique attendra que le périphérique signale prêt avant de revenir de l'appel de sortie.
- Voici le bloc de paramètres pour les codes inférieurs aux codes 4Ah (sélection du code de page), 4Dh (fin de préparation de la page de code), ou 6Ah (demande de la page de code). Ils ont le format suivant:
- Après un appel de code inférieur 4Ch (début de la préparation de la page de code), les données définissant la police de caractères de la page de codes sont écrites dans le pilote en utilisant un ou plusieurs appels à la sous-fonction d'écriture de données de contrôle d'IOCTL (Interruption 21h, Fonction 44h, Sous-fonction 03h). Le format des données est spécifique au périphérique et au pilote. Une fois les données de police de caractères écrites sur le pilote, un appel de code inférieur 4Dh (fin de la préparation de la page de code) doit être émis. Si aucune donnée n'est écrite dans le pilote entre les appels de code inférieur 4Ch et 4Dh, le pilote interprète les pages de code nouvellement préparées comme des pages de code matériel.
- Une variante spéciale de l'appel de code mineur 4Ch (début de la préparation de la page de code), appelée rafraîchissement, est nécessaire pour charger réellement le périphérique avec les pages de codes préparées. L'opération de rafraîchissement est obtenue en demandant le code inférieur 4Ch avec chaque position de page de codes dans le bloc de paramètres mis à -1, suivi d'un appel immédiat pour le code mineur 4Dh (fin de la préparation de la page de code).
Déplacement | Longueur | Description |
---|---|---|
00h | 2 octets (mot) | Ce champ contient la longueur de la donnée suivante. |
02h | 2 octets (mot) | Ce champ contient le code d'identification de page. |
... | ... | ... |
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 235 à 237.
Dernière mise à jour : Jeudi, le 3 mars 2016