Compartilhar via


Compilar arquivos MOF localizados

Você deve compilar seu arquivo MOF mestre para criar os arquivos MOF neutro e específico da linguagem.

Digite o comando a seguir em um prompt de comando para compilar um arquivo MOF mestre.

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

Quando você executa esse comando, o compilador do MOF cria dois arquivos MOF baseados no arquivo Mastermof.mof original. O compilador do MOF produz uma versão neutra em linguagem, Lnmof.mof, na qual todos os itens específicos da linguagem são removidos. Uma segunda versão específica da linguagem, Lsmof.mof, também é criada; esse arquivo contém apenas itens que foram marcados com o Qualificador Flavor Amended no arquivo Mastermof.mof.

O exemplo de código a seguir mostra o conteúdo do arquivo MOF neutro em linguagem (Lnmof.mof) que foi gerado.

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

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

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

O exemplo de código a seguir mostra o conteúdo do arquivo MOF específico do linguagem (Lsmof.mfl) que foi gerado.

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

A compilação de um arquivo MOF com o qualificador Amended gera apenas arquivos MOF separados de neutra em relação à linguagem e específico da linguagem; o repositório CIM não é atualizado com as novas informações de classe. Você deve usar o compilador do MOF para compilar os dois arquivos MOF que a primeira compilação produziu antes que qualquer informação de classe seja disponibilizada ao WMI.

Quando você compila um arquivo MOF mestre, somente os qualificadores com a variante Amended são movidos para o arquivo MOF específico da linguagem. Os qualificadores que não têm a variante Amended não são localizados e só existem na definição de classe básica no arquivo MOF neutro em linguagem. Os qualificadores não localizados poderão ser usados para descrições padrão se as descrições localizadas não estiverem disponíveis.

Você pode usar o comando pragma amendment em vez de especificar Amended como uma opção para o compilador do MOF. Qualquer uma dessas opções é equivalente a solicitar versões específicas da linguagem e neutras em termos de linguagem de um arquivo MOF. Se você usar o comando pragma amendment ou a opção de linha de comando Amended, deverá especificar o nome dos arquivos de saída usando as opções -MFL e -MOF no prompt de comando.

Observação

O arquivo MOF neutro em linguagem gerado pelo compilador MOF contém o equivalente decimal da ID de localidade, mesmo que esse valor tenha sido inserido em hexadecimal. No exemplo acima, o compilador converteu o valor 0x409 no número decimal 1033 no arquivo de saída Lnmof.mof.