lcid 특성
[lcid] 특성은 로캘 식별자를 지정하고 로캘별 MIDL 컴파일러 지원을 사용하도록 설정합니다.
[
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
-
라이브러리에 대한 범용 고유 ID 번호를 지정 합니다.
-
Localeid
-
Windows 국가별 언어 지원에 사용되는 32비트 로캘 식별자를 지정합니다. 일반적으로 로캘 식별자는 16진수로 제공됩니다.
-
optional-attribute-list
-
라이브러리에 적용할 특성이 0개 이상 입니다.
-
library-name
-
소프트웨어 구성 요소가 라이브러리를 참조하는 이름 입니다.
-
library-definition-statements
-
라이브러리의 내용을 정의하는 하나 이상의 MIDL 문입니다.
-
function-name
-
IDL 파일에 있는 함수의 이름을 지정합니다.
-
parameter-attribute-list
-
함수 매개 변수에 적용할 0개 이상의 MIDL 특성입니다.
-
parameter-name
-
IDL 파일에서 매개 변수의 이름을 지정합니다.
[lcid] 구문에는 두 가지 형식이 있습니다. 특성의 효과는 라이브러리 문 구문 또는 매개 변수 구문을 사용하는 구문에 따라 달라집니다.
첫 번째 예제와 같이 localeID 인수와 함께 라이브러리 문에 적용된 경우 [lcid] 특성은 형식 라이브러리 또는 함수 인수에 대한 로캘을 식별하고 라이브러리 블록 내에서 국제 문자를 사용할 수 있도록 합니다.
MIDL 컴파일러 버전 3.01.75에 적용되며, 이 특성에서 제공하는 로캘 식별자는 결과 형식 라이브러리를 데코레이트할 뿐만 아니라 실제로 컴파일러의 동작을 변경합니다. 라이브러리 문 내에서 [lcid] 특성이 사용되는 지점에서 MIDL은 지정된 로캘에 따라 지역화된 입력을 허용합니다. 특히 일본어, 중국어, 한국어(전체 DBCS 지원)와 같은 아시아 언어에 대한 전폭적인 지원을 받을 수 있습니다. 지역화에서 지원되는 기능은 주석, 문자열, 기술 지원 및 식별자입니다.
/lcid 컴파일러 스위치를 사용하여 라이브러리 블록 내부가 아닌 파일 이름 및 디렉터리 경로를 포함하여 전체 입력 파일에서 이 지역화 지원을 사용할 수 있도록 합니다.
매개 변수에 적용된 경우 [lcid] 특성을 사용하면 두 번째 예제와 같이 로캘 식별자를 함수에 전달할 수 있습니다. [lcid] 매개 변수에는 다음과 같은 제한이 적용됩니다.
- 함수에는 최대 하나의 [lcid] 매개 변수가 있을 수 있습니다.
- 매개 변수의 데이터 형식은 길어야 합니다.
- 매개 변수의 방향은 [in] 에만 있어야 합니다.
- [lcid] 매개 변수는 [retval] 매개 변수를 제외한 다른 매개 변수를 따라야 합니다.
- dispinterface 또는 coclass 매개 변수에는 [lcid] 특성을 적용할 수 없습니다.
[
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
}