Atributo lcid
O atributo [lcid] especifica um identificador de localidade e habilita o suporte ao compilador MIDL específico da localidade.
[
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 um número de identificação universalmente exclusivo para a biblioteca.
-
Localeid
-
Especifica o identificador de localidade de 32 bits usado no Suporte à Linguagem Nacional do Windows. Normalmente, o identificador de localidade é dado em hexadecimal.
-
optional-attribute-list
-
Zero ou mais atributos a serem aplicados à biblioteca.
-
nome-da-biblioteca
-
O nome pelo qual os componentes de software se referem à biblioteca.
-
library-definition-statements
-
Uma ou mais instruções MIDL que definem o conteúdo da biblioteca.
-
function-name
-
Especifica o nome da função no arquivo IDL.
-
parameter-attribute-list
-
Zero ou mais atributos MIDL que serão aplicados ao parâmetro de função.
-
parameter-name
-
Especifica o nome do parâmetro no arquivo IDL.
A sintaxe [lcid] tem duas formas diferentes; o efeito do atributo depende de qual sintaxe você usa — a sintaxe da instrução library ou a sintaxe do parâmetro.
Quando aplicado à instrução library , juntamente com um argumento localeID, conforme mostrado no primeiro exemplo, o atributo [lcid] identifica a localidade de uma biblioteca de tipos ou para um argumento de função e permite que você use caracteres internacionais dentro do bloco de biblioteca.
Eficaz com a versão 3.01.75 do compilador MIDL, o identificador de localidade fornecido por esse atributo não só decora a biblioteca de tipos resultante, mas, na verdade, altera o comportamento do compilador. Dentro de uma instrução de biblioteca , do ponto em que o atributo [lcid] é usado, MIDL aceitará a entrada localizada de acordo com a localidade especificada. Em particular, o suporte completo para idiomas asiáticos, como japonês, chinês e coreano (suporte completo ao DBCS) está disponível. Os recursos compatíveis com a localização são: comentários, cadeias de caracteres, helpstrings e identificadores.
Use a opção do compilador /lcid para ter esse suporte de localização disponível para todo o arquivo de entrada, incluindo o nome do arquivo e o caminho do diretório, em vez de apenas dentro do bloco de biblioteca.
Quando aplicado a um parâmetro, o atributo [lcid] permite passar um identificador de localidade para uma função, conforme mostrado no segundo exemplo. As seguintes restrições se aplicam aos parâmetros [lcid] :
- Uma função pode ter no máximo um parâmetro [lcid] .
- O tipo de dados do parâmetro deve ser longo.
- A direção do parâmetro deve ser somente [in] .
- O parâmetro [lcid] deve seguir quaisquer outros parâmetros, exceto um parâmetro [retval] .
- Não é possível aplicar o atributo [lcid] a um parâmetro 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
}