Kompilieren lokalisierter MOF-Dateien

Sie müssen Ihre MOF-Masterdatei kompilieren, um die sprachneutralen und sprachspezifischen MOF-Dateien zu erstellen.

Geben Sie den folgenden Befehl an einer Eingabeaufforderung ein, um eine MOF-Masterdatei zu kompilieren.

mofcomp -MOF:Lnmof.mof -MFL:Lsmof.mfl -Amendment:MS_409 Mastermof.mof

Wenn Sie diesen Befehl ausführen, erstellt der MOF-Compiler zwei MOF-Dateien aus der ursprünglichen Mastermof.mof-Datei. Der MOF-Compiler erzeugt die sprachneutrale Version Lnmof.mof, in der alle sprachspezifischen Elemente entfernt werden. Darüber hinaus wird eine zweite sprachspezifische Version, Lsmof.mof, erstellt. Diese Datei enthält nur Elemente, die in der Datei Mastermof.mof mit der Amended-Qualifizierervariante gekennzeichnet wurden.

Das folgende Codebeispiel zeigt den Inhalt der sprachneutralen MOF-Datei (Lnmof.mof), die generiert wird.

#pragma namespace("\\\\.\\root")

Instance of __Namespace
{
  Name = "TEST";
};
#pragma namespace("\\\\.\\root\\TEST")

[LOCALE(1033)] 
class myclass
{
  [key] string Name;
  uint64 Value;
  uint64 Timestamp;
};

Das folgende Codebeispiel zeigt den Inhalt der sprachspezifischen MOF-Datei (Lsmof.mfl), die generiert wird.

#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;
};

Beim Kompilieren einer MOF-Datei mit dem Qualifizierer Amended werden lediglich getrennte sprachneutrale und sprachspezifische MOF-Dateien generiert. Das CIM-Repository wird nicht mit den neuen Klasseninformationen aktualisiert. Sie müssen den MOF-Compiler verwenden, um die beiden MOF-Dateien zu kompilieren, die bei der ersten Kompilierung erstellt wurden, damit die Klasseninformationen für WMI verfügbar sind.

Wenn Sie eine MOF-Masterdatei kompilieren, werden nur Qualifizierer mit der Amended-Variante in die sprachspezifische MOF-Datei verschoben. Qualifizierer ohne Amended-Variante werden nicht lokalisiert und sind nur in der Basisklassendefinition in der sprachneutralen MOF-Datei vorhanden. Nicht lokalisierte Qualifizierer können für Standardbeschreibungen verwendet werden, wenn keine lokalisierten Beschreibungen verfügbar sind.

Sie können den pragma amendment-Befehl verwenden, anstatt Amended als Schalter für den MOF-Compiler anzugeben. Bei beiden Optionen werden sprachspezifische und sprachneutrale Versionen einer MOF-Datei angefordert. Wenn Sie den „pragma amendment“-Befehl oder die Befehlszeilenoption Amended verwenden, müssen Sie den Namen der Ausgabedateien mit den Optionen -MFL und -MOF an der Eingabeaufforderung angeben.

Hinweis

Die sprachneutrale MOF-Datei, die vom MOF-Compiler generiert wird, enthält das Dezimaläquivalent der Gebietsschema-ID, auch wenn dieser Wert hexadezimal eingegeben wurde. Im obigen Beispiel wurde der Wert 0x409 vom Compiler in die Dezimalzahl 1033 für die Lnmof.mof-Ausgabedatei konvertiert.