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
}

関連項目

coclass

ディスパッチ

MIDL を使用したタイプ ライブラリの生成

/Lcid

ライブラリ

ODL ファイルの構文

ODL ファイルの例

retval