atributo lcid
El atributo [lcid] especifica un identificador de configuración regional y habilita la compatibilidad con el compilador MIDL específico de la configuración regional.
[
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
-
Especifica un número de identificación único universal para la biblioteca.
-
localeID
-
Especifica el identificador de configuración regional de 32 bits usado en la compatibilidad con idiomas nacionales de Windows. Normalmente, el identificador de configuración regional se da en hexadecimal.
-
optional-attribute-list
-
Cero o más atributos que se aplicarán a la biblioteca.
-
library-name
-
Nombre por el que los componentes de software hacen referencia a la biblioteca.
-
library-definition-statements
-
Una o varias instrucciones MIDL que definen el contenido de la biblioteca.
-
nombre de función
-
Especifica el nombre de la función en el archivo IDL.
-
parameter-attribute-list
-
Cero o más atributos MIDL que se aplicarán al parámetro de función.
-
parameter-name
-
Especifica el nombre del parámetro en el archivo IDL.
La sintaxis [lcid] tiene dos formas diferentes; el efecto del atributo depende de la sintaxis que use, ya sea la sintaxis de la instrucción library o la sintaxis del parámetro.
Cuando se aplica a la instrucción library , junto con un argumento localeID, como se muestra en el primer ejemplo, el atributo [lcid] identifica la configuración regional de una biblioteca de tipos o para un argumento de función y permite usar caracteres internacionales dentro del bloque de biblioteca.
Efectivo con la versión 3.01.75 del compilador MIDL, el identificador de configuración regional proporcionado por este atributo no solo representa la biblioteca de tipos resultante, sino que cambia realmente el comportamiento del compilador. Dentro de una instrucción de biblioteca , desde el punto donde se usa el atributo [lcid], MIDL aceptará la entrada localizada según la configuración regional especificada. En concreto, está disponible compatibilidad completa con idiomas asiáticos como japonés, chino y coreano (compatibilidad completa con DBCS). Las características admitidas por la localización son: comentarios, cadenas, cadenas, cadenas e identificadores.
Use el modificador del compilador /lcid para que esta compatibilidad de localización esté disponible para todo el archivo de entrada, incluido el nombre de archivo y la ruta de acceso del directorio, en lugar de simplemente dentro del bloque de biblioteca.
Cuando se aplica a un parámetro, el atributo [lcid] le permite pasar un identificador de configuración regional a una función, como se muestra en el segundo ejemplo. Las restricciones siguientes se aplican a los parámetros [lcid]:
- Una función puede tener como máximo un parámetro [lcid].
- El tipo de datos del parámetro debe ser largo.
- La dirección del parámetro solo debe ser [in].
- El parámetro [lcid] debe seguir cualquier otro parámetro, excepto un parámetro [retval].
- No se puede aplicar el atributo [lcid] a un parámetro dispinterface o 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
}