Partilhar via


Compilando arquivos MOF localizados

Você deve compilar o seu arquivo MOF mestre para criar os arquivos MOF neutros e específicos ao idioma.

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

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

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

O exemplo de código a seguir mostra o conteúdo do arquivo MOF com neutralidade de idioma (Lnmof.mof) que é 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 idioma (Lsmof.mfl) que é 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 ficheiro MOF com o qualificador Amended gera apenas ficheiros MOF, um neutro em termos de linguagem e outro específico, mas o repositório CIM não é atualizado com as novas informações da classe. Você deve usar o compilador MOF para compilar os dois arquivos MOF que a primeira compilação produziu antes de qualquer informação de classe estar disponível para o WMI.

Quando compila um arquivo MOF mestre, somente os qualificadores com o sabor Amended são movidos para o arquivo MOF específico do idioma. Os qualificadores que não têm o tipo Amended não são localizados e só existem na definição de classe básica no arquivo MOF neutro em termos de idioma. Os qualificadores não localizados podem 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 alternativa para o compilador MOF. Qualquer uma destas opções corresponde a solicitar versões específicas do idioma e neutras do idioma, 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 com neutralidade de idioma que o compilador MOF gera 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 para o número decimal 1033 para o arquivo de saída Lnmof.mof.