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] 屬性套用至 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
}