attribut lcid
L’attribut [lcid] spécifie un identificateur de paramètres régionaux et permet la prise en charge du compilateur MIDL spécifique aux paramètres régionaux.
[
uuid(uuid-number),
lcid(localeID)
[, optional-attribute-list]
]
library library-name
{
library-definition-statements
}
function-name([parameter-attribute-list, lcid] long parameter-name,. . .);
-
uuid-number
-
Spécifie un numéro d’identification universel unique pour la bibliothèque.
-
localeID
-
Spécifie l’identificateur de paramètres régionaux 32 bits utilisé dans la prise en charge de la langue nationale Windows. En règle générale, l’identificateur de paramètres régionaux est donné en hexadécimal.
-
optional-attribute-list
-
Zéro ou plusieurs attributs à appliquer à la bibliothèque.
-
nom de la bibliothèque
-
Nom par lequel les composants logiciels font référence à la bibliothèque.
-
library-definition-statements
-
Une ou plusieurs instructions MIDL qui définissent le contenu de la bibliothèque.
-
nom de la fonction
-
Spécifie le nom de la fonction dans le fichier IDL.
-
parameter-attribute-list
-
Zéro ou plusieurs attributs MIDL qui seront appliqués au paramètre de fonction.
-
nom_paramètre
-
Spécifie le nom du paramètre dans le fichier IDL.
La syntaxe [lcid] a deux formes différentes ; l’effet de l’attribut dépend de la syntaxe que vous utilisez , soit la syntaxe de l’instruction de bibliothèque , soit la syntaxe du paramètre.
Lorsqu’il est appliqué à l’instruction library , avec un argument localeID, comme indiqué dans le premier exemple, l’attribut [lcid] identifie les paramètres régionaux d’une bibliothèque de types ou d’un argument de fonction et vous permet d’utiliser des caractères internationaux à l’intérieur du bloc de bibliothèque.
À compter de la version 3.01.75 du compilateur MIDL, l’identificateur de paramètres régionaux fourni par cet attribut non seulement décore la bibliothèque de types résultante, mais modifie en fait le comportement du compilateur. Dans une instruction de bibliothèque , à partir du moment où l’attribut [lcid] est utilisé, MIDL accepte l’entrée localisée en fonction des paramètres régionaux spécifiés. En particulier, la prise en charge complète des langues asiatiques telles que le japonais, le chinois et le coréen (prise en charge complète de DBCS) est disponible. Les fonctionnalités prises en charge par la localisation sont les suivantes : commentaires, chaînes, chaînes d’aide et identificateurs.
Utilisez le commutateur du compilateur /lcid pour que cette prise en charge de localisation soit disponible pour l’ensemble du fichier d’entrée, y compris le nom de fichier et le chemin du répertoire, plutôt qu’à l’intérieur du bloc de bibliothèque.
Lorsqu’il est appliqué à un paramètre, l’attribut [lcid] vous permet de passer un identificateur de paramètres régionaux à une fonction, comme indiqué dans le deuxième exemple. Les restrictions suivantes s’appliquent aux paramètres [lcid] :
- Une fonction peut avoir au maximum un paramètre [lcid].
- Le type de données du paramètre doit être long.
- La direction du paramètre doit être [in] uniquement.
- Le paramètre [lcid] doit suivre tous les autres paramètres, à l’exception d’un paramètre [retval].
- Vous ne pouvez pas appliquer l’attribut [lcid] à un paramètre dispinterface ou coclass .
[
uuid(12345678-1234-1234-1234-123456789ABC),
lcid(0x09),
version(1.0)
]
library MyLibrary
{
/* Library definition statements */
};
interface IMyFace : IDispatch
{
[propget] HRESULT MyFunc([in, lcid] long LocaleID,
[out, retval] BSTR * ReturnVal);
// Other interface definition statements
}