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
-
ライブラリの汎用一意の識別番号を指定 します。
-
Localeid
-
Windows 各国語サポートで使用される 32 ビット ロケール識別子を指定します。 通常、ロケール識別子は 16 進数で指定されます。
-
optional-attribute-list
-
ライブラリに適用する 0 個以上の属性。
-
library-name
-
ソフトウェア コンポーネントが ライブラリを参照する名前。
-
library-definition-statements
-
ライブラリの内容を定義する 1 つ以上の MIDL ステートメント。
-
function-name
-
IDL ファイル内の関数の名前を指定します。
-
parameter-attribute-list
-
関数パラメーターに適用される 0 個以上の MIDL 属性。
-
parameter-name
-
IDL ファイル内のパラメーターの名前を指定します。
[lcid] 構文には 2 つの異なる形式があります。属性の効果は、使用する構文 (ライブラリ ステートメント構文またはパラメーター構文) によって異なります。
最初の例に示すように、 localeID 引数と共にライブラリ ステートメントに適用すると、[ lcid] 属性はタイプ ライブラリまたは関数引数のロケールを識別し、ライブラリ ブロック内で国際文字を使用できます。
MIDL コンパイラのバージョン 3.01.75 で有効なこの属性によって提供されるロケール識別子は、結果のタイプ ライブラリを装飾するだけでなく、コンパイラの動作を実際に変更します。 ライブラリ ステートメント内では、[lcid] 属性が使用される時点から、MIDL は指定されたロケールに従ってローカライズされた入力を受け入れます。 特に、日本語、中国語、韓国語などのアジア言語の完全なサポート (完全な DBCS サポート) を利用できます。 ローカライズでサポートされる機能は、コメント、文字列、ヘルプ文字列、識別子です。
/lcid コンパイラ スイッチを使用して、ライブラリ ブロック内だけでなく、ファイル名とディレクトリ パスを含む入力ファイル全体でこのローカライズ サポートを使用できるようにします。
パラメーターに適用すると、[ lcid] 属性を使用すると、2 番目の例に示すように、ロケール識別子を関数に渡すことができます。 [lcid] パラメーターには、次の制限が適用されます。
- 関数には、最大 1 つの [lcid] パラメーターを指定できます。
- パラメーターのデータ型は long である必要があります。
- パラメーターの方向は [in] のみである必要があります。
- [lcid] パラメーターは、[retval]パラメーター以外の他のパラメーターに従う必要があります。
- [lcid] 属性を dispinterface または 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
}