Compilazione di file MOF localizzati

È necessario compilare il file MOF master per creare i file MOF specifici della lingua e del linguaggio.

Digitare il comando seguente al prompt dei comandi per compilare un file MOF master.

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

Quando si esegue questo comando, il compilatore MOF crea due file MOF dal file Mastermof.mof originale. Il compilatore MOF produce una versione indipendente dal linguaggio, Lnmof.mof, in cui vengono rimossi tutti gli elementi specifici del linguaggio. Viene creata anche una seconda versione specifica della lingua, Lsmof.mof; questo file contiene solo gli elementi contrassegnati con il qualificatore modificato nel file Mastermof.mof.

Nell'esempio di codice seguente viene illustrato il contenuto del file MOF indipendente dalla lingua (Lnmof.mof) generato.

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

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

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

Nell'esempio di codice seguente viene illustrato il contenuto del file MOF specifico della lingua (Lsmof.mfl) generato.

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

La compilazione di un file MOF con il qualificatore modificato genera solo file MOF separati indipendenti dal linguaggio e specifici della lingua; il repository CIM non viene aggiornato con le nuove informazioni sulla classe. È necessario usare il compilatore MOF per compilare i due file MOF generati dalla prima compilazione prima che tutte le informazioni sulla classe siano disponibili per WMI.

Quando si compila un file MOF master, solo i qualificatori con il sapore modificato vengono spostati nel file MOF specifico del linguaggio. I qualificatori che non hanno il sapore modificato non sono localizzati e esistono solo nella definizione della classe di base nel file MOF indipendente dal linguaggio. I qualificatori non localizzati possono essere usati per le descrizioni predefinite se le descrizioni localizzate non sono disponibili.

È possibile usare il comando pragma amendment anziché specificare Modificato come opzione al compilatore MOF. Una di queste opzioni equivale alla richiesta di versioni specifiche della lingua e indipendenti dalla lingua di un file MOF. Se si usa il comando pragma amendment o l'opzione della riga di comando Modificata , è necessario specificare il nome dei file di output usando le opzioni -MFL e -MOF al prompt dei comandi.

Nota

Il file MOF indipendente dal linguaggio generato dal compilatore MOF contiene l'equivalente decimale dell'ID delle impostazioni locali, anche se questo valore è stato immesso in formato esadecimale. Nell'esempio precedente il compilatore ha convertito il valore 0x409 nel numero decimale 1033 per il file di output Lnmof.mof.