編譯當地語系化的 MOF 檔案
您必須編譯主要 MOF 檔案,才能建立語言中性和特定語言的 MOF 檔案。
在命令提示字元中輸入下列命令,以編譯主要 MOF 檔案。
mofcomp -MOF:Lnmof.mof -MFL:Lsmof.mfl -Amendment:MS_409 Mastermof.mof
當您執行此命令時,MOF 編譯器會從原始 Mastermof.mof 檔案建立兩個 MOF 檔案。 MOF 編譯器會產生語言中性版本 Lnmof.mof,其中會移除所有語言特定專案。 也會建立第二個語言特定版本 Lsmof.mof;此檔案只包含 Mastermof.mof 檔案中以 修改 限定詞類別標示的專案。
下列程式碼範例顯示產生的語言中性 MOF 檔案內容 (Lnmof.mof) 。
#pragma namespace("\\\\.\\root")
Instance of __Namespace
{
Name = "TEST";
};
#pragma namespace("\\\\.\\root\\TEST")
[LOCALE(1033)]
class myclass
{
[key] string Name;
uint64 Value;
uint64 Timestamp;
};
下列程式碼範例顯示產生的語言特定 MOF 檔案內容, (Lsmof.mfl) 。
#pragma namespace("\\\\.\\root\\TEST")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\TEST\\ms_409")
[Description("Localized version of MyClass for American English") :
Amended, LOCALE(0x409)]
class myclass
{
[DisplayName("User Name") : Amended,
Description("The Name property contains the name of the user") :
Amended, key]
string Name;
[DisplayName("Time Stamp") : Amended,
Description("This property shows when the object was created") :
Amended]
uint64 Timestamp;
};
使用 修改 的限定詞編譯 MOF 檔案只會產生個別的語言中性與特定語言 MOF 檔案;CIM 存放庫不會以新的類別資訊更新。 您必須使用 MOF 編譯器來編譯第一個編譯所產生的兩個 MOF 檔案,然後 WMI 才能取得任何類別資訊。
當您編譯主要 MOF 檔案時,只有 具有修改 過的類別限定詞會移至語言特定的 MOF 檔案。 沒有 修改 類別的限定詞不會當地語系化,而且只存在於語言中性 MOF 檔案中的基本類別定義中。 如果當地語系化的描述無法使用,則非區域化限定詞可用於預設描述。
您可以使用 pragma 增修條款 命令,而不是將 [修改 ] 指定為 MOF 編譯器的參數。 這其中一個選項相當於要求 MOF 檔案的語言特定和語言中性版本。 如果您使用 pragma 增修條款命令或 修改 過的命令列選項,則必須在命令提示字元使用 -MFL 和 -MOF 選項來指定輸出檔的名稱。
注意
MOF 編譯器產生的語言中性 MOF 檔案包含地區設定識別碼的十進位對等專案,即使此值是以十六進位輸入也一樣。 在上述範例中,編譯器已將值0x409轉換成 Lnmof.mof 輸出檔案的十進位數 1033。