共用方式為


編譯本地化的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。