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 位地區設定識別碼。 地區設定識別碼通常會以十六進位表示。

optional-attribute-list

要套用至連結 的零個或多個屬性。

library-name

軟體元件參考連結 的名稱。

library-definition-statements

定義連結 內容的一或多個 MIDL 語句。

function-name

指定 IDL 檔案中的函式名稱。

parameter-attribute-list

將套用至函式參數的零個或多個 MIDL 屬性。

parameter-name

指定 IDL 檔案中的參數名稱。

備註

[lcid]語法有兩種不同的形式;屬性的效果取決於您使用的語法, 連結語句語法或參數語法。

套用至 程式庫 語句以及 localeID 引數時,如第一個範例所示, [lcid] 屬性會識別型別程式庫或函式引數的地區設定,並可讓您在程式庫區塊內使用國際字元。

從 MIDL 編譯器的 3.01.75 版生效,這個屬性所提供的地區設定識別碼不僅會裝飾產生的類型程式庫,也會實際變更編譯器的行為。 在 程式庫 語句中,從使用 [lcid] 屬性的點開始,MIDL 會根據指定的地區設定接受當地語系化的輸入。 特別是,有完整支援亞洲語言,例如日文、中文和韓文 (完整的 DBCS 支援) 。 當地語系化支援的功能包括:批註、字串、說明字串和識別碼。

使用 /lcid 編譯器參數,讓整個輸入檔可以使用此當地語系化支援,包括檔案名和目錄路徑,而不只是在程式庫區塊內。

套用至參數時, [lcid] 屬性可讓您將地區設定識別碼傳遞至函式,如第二個範例所示。 下列限制適用于 [lcid] 參數:

  • 函式最多可以有一個 [lcid] 參數。
  • 參數的資料類型必須是 long
  • 參數的方向必須是 [in]
  • [lcid]參數必須遵循任何其他參數,但[retval]參數除外。
  • 您無法將 [lcid] 屬性套用至 dispinterfacecoclass 參數。

範例

[  
    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

dispinterface

使用 MIDL 產生類型程式庫

/Lcid

圖書館

ODL 檔案語法

ODL 檔案範例

retval