Interruption 2Fh |
Fonction 4Ah, Sous-Fonction 12h |
Pilote MRCI |
---|---|---|
MRCI (Microsoft Realtime Compression Interface) |
Description
Cette fonction permet d'effectuer la vérification de la présence du pilote MRCI (abréviation de Microsoft Realtime Compression Interface) dit serveur «RAM-BASED».
Entrée
Registre | Description ou valeur | ||
---|---|---|---|
AX | 4A12h | ||
CX | 4D52h ("MR") | ||
DX | 4349h ("CI") |
Sortie
Registre | Description | |||||
---|---|---|---|---|---|---|
CX | Ce registre vaut 4943h ("IC") si le pilote est installé | |||||
DX | Ce registre vaut 524Dh ("RM") si le pilote est installé | |||||
ES:DI | Cette paire de registres retourne un pointeur sur la structure de données «MRCINFO» : | |||||
Déplacement | Taille | Description | ||||
00h | 4 octets | Ce champ permet d'indiquer la signature du pilote Microsoft «MSFT». | ||||
04h | 2 octets (mot) | Ce champ permet d'indiquer la version du serveur (la partie haute représentant la version majeur). | ||||
06h | 2 octets (mot) | Ce champ permet d'indiquer les spécifications de version MRCI. | ||||
08h | 4 octets (double mot) | Ce champ permet d'indiquer l'adresse du point d'entrée du serveur. Vous pouvez appeler le point d'entrée MRCI de le façon suivante : | ||||
Entrée | ||||||
Registre | Description | |||||
DS:SI | Cette paire de registres permet d'indiquer un pointeur vers la structure de données «MRCREQUEST» : | |||||
Déplacement | Taille | Description | ||||
00h | 4 octets | Ce champ permet d'indiquer un pointeur sur le tampon source. | ||||
04h | 2 octets (mot) | Ce champ permet d'indiquer la taille du tampon source (0000h = 64 Ko). | ||||
06h | 2 octets (mot) | Ce champ permet d'indiquer le déplacement du tampon source où commence le chargement de données en entrée et le tampon destinataire ou commencent le chargement de données compressé en sortie si compression mise-à-jour. | ||||
08h | 4 octets (2 mots) | Ce champ permet d'indiquer un pointeur au tampon destinataire. | ||||
Les champs suivant contient les données de la compression original pour la compression mise-à-jour seulement : | ||||||
0Ch | 2 octets (mot) | Ce champ permet d'indiquer la taille du tampon destinataire (0000h = 64 Ko). Ainsi : N'importe quel compression : Pour indiquer le nombre d'octets devant être décompresser Décompression standard : Pour indiquer le nombre d'octets devant être décompresser Décompression incrémental : Pour indiquer le nombre d'octets devant être décompresser maintenant Si sortie alors taille actuel du résultat de données |
||||
0Eh | 2 octets (mot) | Ce champ permet d'indiquer la taille d'allocation des données de compression du client | ||||
10h | 4 octets (2 mots) | Ce champ permet d'indiquer l'état des données de la décompression incrémental (mettre à 00000000h avant d'effectuer le premier appel à la décompression incrémental) | ||||
CX | Ce registre permet d'indiquer le type de client : | |||||
Valeur | Description | |||||
0000h | Cette valeur permet d'indiquer une application | |||||
0001h | Cette valeur permet d'indiquer un fichier système | |||||
AX | Ce registre permet d'indiquer l'opération à effectuer : | |||||
Valeur | Description | |||||
0001h | Cette valeur permet d'indiquer d'effectuer une opération de compression standard | |||||
0002h | Cette valeur permet d'indiquer d'effectuer une opération de décompression standard | |||||
0004h | Cette valeur permet d'indiquer d'effectuer une opération de compression mise-à-jour | |||||
0008h | Cette valeur permet d'indiquer d'effectuer une opération de compression maximal | |||||
0020h | Cette valeur permet d'indiquer d'effectuer une opération de décompression incrémental | |||||
FFFFh | Cette valeur permet d'indiquer d'effectuer l'effacement des drapeaux, dans ce cas BX=Masque de drapeaux à effacer (fixer dans BX les drapeaux étant à effacer) | |||||
Sortie | ||||||
Registre | Description | |||||
AX | Cette valeur permet d'indiquer le résultat de l'opération : | |||||
Valeur | Description | |||||
0000h | Cette valeur permet d'indiquer que l'opération s'est correctement effectué | |||||
0001h | Cette valeur permet d'indiquer que la fonction est invalide | |||||
0002h | Cette valeur permet d'indiquer que le serveur est occupé, qu'il faut simplement réessayer encore | |||||
0003h | Cette valeur permet d'indiquer que le tampon du destinataire est trop petit | |||||
0004h | Cette valeur permet d'indiquer que les données ne sont pas compressable. | |||||
0005h | Cette valeur permet d'indiquer qu'une mauvais format de compression de données est rencontrée. | |||||
0Ch | 2 octets (mot) | Ce champ permet d'indiquer la compatibilité du serveur : | ||||
Bits | Description | |||||
0 | Ce bit permet d'indiquer la compression standard | |||||
1 | Ce bit permet d'indiquer la décompression standard | |||||
2 | Ce bit permet d'indiquer la compression mise-à-jour. | |||||
3 | Ce bit permet d'indiquer la compression maximal. | |||||
4 | Ce bit est réservé. | |||||
5 | Ce bit permet d'indiquer la décompression incrémental. | |||||
6 à 14 | Ces bits sont réservés. | |||||
15 | Ce bit permet d'indiquer une structure en ROM ne pouvant pas être modifié. | |||||
0Eh | 2 octets (mot) | Ce champ permet d'indiquer la compatibilité d'assistance matériel : | ||||
Bits | Description | |||||
0 | Ce bit permet d'indiquer la compression standard | |||||
1 | Ce bit permet d'indiquer la décompression standard | |||||
2 | Ce bit permet d'indiquer la compression mise-à-jour. | |||||
3 | Ce bit permet d'indiquer la compression maximal. | |||||
4 | Ce bit est réservé. | |||||
5 | Ce bit permet d'indiquer la décompression incrémental. | |||||
6 à 14 | Ces bits sont réservés. | |||||
15 | Ce bit permet d'indiquer une structure en ROM ne pouvant pas être modifié. | |||||
10h | 2 octets (mot) | Ce champ permet d'indiquer la taille maximal des blocs supportés par le serveur (laisse au moins 8192 octets). |
Voir également
Dernière mise à jour : Jeudi, le 3 mars 2016