Chaînes de format
Une chaîne de format est un jeton interprété que le moteur de remise de remise comprend. Les chaînes de format sont souvent appelées mops ; cette documentation utilise le terme chaîne de format tout au long.
Pour être plus précis, un caractère de format est un jeton interprétable (atomique) individuel. Chaque caractère de format a une taille d’un octet. Une chaîne de format est une séquence de caractères de format ou de caractères de format et de données numériques. Le terme descripteur est également utilisé pour nommer des séquences communes ; par exemple, une chaîne de format de paramètre ou un descripteur de paramètre est une chaîne de format utilisée pour décrire un paramètre d’une routine.
Les caractères de format ont des noms symboliques suggestifs comme FC_LONG ou FC_STRUCT. Tous les caractères de chaîne de format utilisés par MIDL et le moteur NDR sont définis dans le fichier Ndrtypes.h.
Mettre en forme des tables de chaînes
Deux tables de chaînes de format principales sont utilisées par le moteur : la table de chaînes de format de procédure , __MIDL_ProcFormatString, qui conserve les descripteurs de procédure ; et la table de chaînes de format de type , __MIDL_TypeFormatString, qui conserve les descripteurs de type de données. Le compilateur génère les deux dans les fichiers stub main (*_c.c, *_s.c, *_p.c). La table de chaînes de format de procédure est principalement utilisée par différents interpréteurs, mais elle est également utilisée pour la conversion de mémoire tampon, quel que soit le mode du compilateur. La table de chaînes de format de type est utilisée lors de l’appel du moteur de remise de remise de base pour indiquer des types de données spécifiques à travailler.
Notation de chaîne de format
La notation utilisée dans ce document suit les instructions de description de programmation courantes, avec une barre ( | ) utilisée pour indiquer les constructions alternatives et les crochets ( [ ] ) utilisés pour indiquer les éléments facultatifs. Les chaînes de format sont fréquemment empilées pour des raisons de lisibilité (responsabilité). Tout au long de ce document, FC désigne un caractère de format unique. Les caractères de format sont présentés dans tous les caractères CAPS, à l’aide de leurs noms symboliques réels. D’autres champs arbitraires sont représentés par un nom et une taille.
Les crochets d’angle ( <> ) sont utilisés pour indiquer les tailles des descripteurs. Les conventions indiquées dans le tableau suivant sont employées.
Notation | Signification |
---|---|
< n> | La taille du descripteur est de n octets. |
<> | La taille du descripteur varie. |
{<>}* | Le descripteur est répété un nombre quelconque de fois (0,1,2 ...). |
Les caractères de format suivants ont une signification particulière.
Caractère | Signification |
---|---|
FC_END | Indique la fin de certaines chaînes de format. |
FC_PAD | Caractère de panneau non interprété. |