mofcomp

O compilador MOF (Managed Object Format) analisa um arquivo que contém instruções MOF e adiciona as classes e instâncias de classes definidas no arquivo ao repositório WMI. Em geral, os arquivos MOF são compilados automaticamente durante a instalação dos sistemas com os quais são fornecidos, mas você também pode compilar arquivos MOF com essa ferramenta.

Para obter mais informações sobre como localizar e usar mofcomp.exe, consulte Usar ferramentas de gerenciamento do WMI. Para obter informações sobre como remover classes e instâncias do repositório WMI, consulte o comando do pré-processador pragma deleteclass.

O exemplo de código a seguir mostra como executar o compilador MOF em um arquivo.

mofcomp
  [-autorecover]
  [-check]
  [-N:<namespacepath>]
  [-class:createonly | -class:forceupdate | 
   -class:safeupdate | -class:updateonly ] 
  [-instance:updateonly | -instance:createonly]
  [-B:<filename>]
  [-WMI]
  [-P:<Password>]
  [-U:<UserName>]
  [-A:<Authority>]
  [-MOF:<path>] 
  [-MFL:<path>] 
  [-AMENDMENT:<Locale>]
  [-ER:<ResourceName>]
  [-L:<ResourceLocale>] 
  <MOFfile>

Comutadores

-autorecover

Adiciona o arquivo MOF nomeado à lista de arquivos compilados durante a recuperação do repositório. A lista de arquivos MOF de autorecover é armazenada na chave do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\

Os arquivos MOF listados nesta entrada do Registro devem residir no computador local porque os arquivos MOF que usam o comando autorecover não podem recuperar arquivos MOF localizados em um computador remoto.

Observação

Para garantir que todas as definições de classe WMI para objetos gerenciados sejam restauradas no repositório WMI se o WMI tiver uma falha e reiniciar, use a instrução de pré-processador #pragma autorecover no arquivo MOF (Managed Object Format).

-check

Solicita que o compilador execute apenas uma verificação de sintaxe e imprima as mensagens de erro apropriadas. Nenhuma outra opção pode ser usada com essa opção. Quando essa opção é usada, nenhuma conexão com o WMI (Instrumentação de Gerenciamento do Windows) é estabelecida e nenhuma modificação no repositório WMI é feita.

-N:<namespacepath>

Solicita que o compilador carregue o arquivo MOF no namespace especificado como *namespacepath*. O MOF compilado é carregado no namespace Mofcomp padrão, root\\default, a menos que essa opção seja usada. Você também pode inserir o comando de pré-processador **\#pragma namespace ("***namespace path***")** no arquivo MOF para obter o mesmo efeito. Se a opção **-N:** e o comando \#pragma namespace forem usados, \#**pragma namespace** **autorecover** terá prioridade. Nesse caso, a única maneira de compilar o MOF em outro namespace é editar o arquivo MOF e alterar o comando \#**pragma namespace**. Um computador remoto pode ser especificado usando \\\\machinename\\root\\default.

-class:createonly

Solicita que o compilador não faça nenhuma alteração nas classes existentes. Quando essa opção é usada, a operação de compilação termina caso uma classe especificada no arquivo MOF já exista.

-class:forceupdate

Força as atualizações de classes quando há classes filho conflitantes. Por exemplo, suponha que um qualificador de classe seja definido em uma classe filho e a classe base tente adicionar o mesmo qualificador. No modo -class:forceupdate, o compilador MOF resolve esse conflito excluindo o qualificador conflitante na classe filho. Se a classe filho tiver instâncias, a atualização falhará.

-class:safeupdate

Permite atualizações de classes mesmo que haja classes filho, desde que a alteração não cause conflitos com classes filho. Por exemplo, esse sinalizador permite adicionar uma nova propriedade à classe base que não foi mencionada anteriormente em classes filho. Se as classes filho tiverem instâncias, a atualização falhará.

-class:updateonly

Solicita que o compilador não crie novas classes. Quando essa opção é usada, a operação de compilação termina caso uma classe especificada no arquivo MOF não exista.

-instance:updateonly

Solicita que o compilador não crie novas instâncias. Quando essa opção é usada, a operação de compilação termina caso uma instância especificada no arquivo MOF não exista.

-instance:createonly

Solicita que o compilador não faça nenhuma alteração nas instâncias existentes. Quando essa opção é usada, a operação de compilação termina caso uma instância especificada no arquivo MOF já exista.

-B:<filename>

Solicita que o compilador crie uma versão binária do arquivo MOF com o nome filename sem fazer nenhuma modificação no repositório WMI.

Se você usar a opção -B:<filename> para criar um arquivo MOF binário, somente os tipos de qualificador padrão serão armazenados no repositório WMI.

O formato MOF binário é o formato intermediário para combinar um driver WDM com o MOF como um recurso. O MOF binário representa classes e instâncias, assim como um arquivo MOF de texto, e é compactado antes de ser armazenado em disco.

-WMI

Solicita que o compilador execute uma verificação de sintaxe WMI. A opção -B: deve ser usada com essa opção. A opção -WMI é usada apenas para criar arquivos MOF binários para uso por drivers de dispositivo WDM. Essa opção invoca um verificador de arquivo MOF binário separado, que é executado após a criação do arquivo MOF binário.

-P:<Password>

Especifica Password como a senha para o usuário do computador inserir ao fazer logon.

-U:<UserName>

Especifica UserName como o nome do usuário que está fazendo logon.

-A:<Authority>

Especifica Authority como a autoridade (nome de domínio) a ser usada ao fazer logon no WMI.

-MOF:<path>

Nome da saída com neutralidade de idioma. Usado com a opção -AMENDMENT para especificar o nome do arquivo MOF com neutralidade de idioma que será gerado.

-MFL:<path>

Nome da saída específica do idioma. Usado com a opção -AMENDMENT para especificar o nome do arquivo MOF específico do idioma que será gerado.

-AMENDMENT:<Locale>

Divide o arquivo MOF em versões específicas e com neutralidade de idioma. O compilador MOF cria uma forma com neutralidade de idioma do arquivo MOF que tem todos os qualificadores alterados removidos. Uma versão localizada do arquivo MOF também é criada com uma extensão de nome de arquivo MFL. O parâmetro Locale especifica o nome do namespace filho que contém as definições de classes localizadas. O formato do parâmetro Locale é MS_xxx, em que xxx é o valor hexadecimal do LCID do Windows. Por exemplo, a localidade para inglês americano é MS_409.

-ER <ResourceName>

Extrai o MOF binário de um recurso nomeado. Essa opção obtém o MOF binário da classe no repositório WMI enquanto a opção -B cria o formato MOF binário de um arquivo MOF.

-L:<ResourceLocale>

Opcional. Extrai as descrições de MOF localizadas do MOF binário quando usado com a opção -ER.

<MOFfile>

Nome do arquivo a ser analisado.

Valores de retorno

Como sua primeira operação, o compilador MOF executa uma verificação de sintaxe no arquivo MOF. Se o compilador encontrar erros, ele imprimirá uma mensagem de erro e o processo será encerrado.

O compilador MOF pode retornar os seguintes valores:

0

A operação de compilação MOF foi bem-sucedida.

1

O compilador MOF não se conectou com o servidor WMI. Isso ocorre devido a um erro semântico, como uma incompatibilidade com o repositório WMI existente, ou um erro real, como a falha do servidor WMI a ser iniciado.

2

Uma ou mais opções de linha de comando não eram válidas.

3

Ocorreu um erro de sintaxe do MOF.

Se o arquivo MOF for analisado corretamente, mas for feita uma tentativa de executar uma operação proibida por uma opção de linha de comando, o compilador retornará um código de erro gerado pelo WMI em vez de qualquer um dos códigos de retorno descritos na lista anterior. Por exemplo, um código de erro WMI é retornado quando a opção -instance:updateonly é especificada e o arquivo MOF tenta criar uma instância.

Se a instrução de pré-processador #pragma autorecover não estiver no arquivo, o seguinte aviso será retornado:

WARNING: FileYourMof.Mof does not contain #PRAGMA AUTORECOVER.
If the WMI repository is rebuilt in the future, the contents of this 
MOF file   will not be included in the new WMI repository.
To include this MOF file when the WMI Repository is automatically 
reconstructed, place the #PRAGMA AUTORECOVER statement on the first 
line of the MOF file.

Comentários

O Compilador MOF está disponível no diretório %Windir%\System32\wbem. Especifique o arquivo MOF como o parâmetro do Compilador MOF. Você também poderá especificar uma opção Autorecover se quiser que o arquivo MOF seja recompilado automaticamente, caso o Repositório CIM precise ser recuperado de forma automática. Para obter mais informações, digite Mofcomp /? no prompt de comando.

Um arquivo MOF que usa o conjunto de caracteres Unicode contém uma assinatura como os dois primeiros bytes do arquivo. Essa assinatura é U+FFFE ou U+FEFF, dependendo da ordenação de bytes do arquivo.

Quando não ocorrem erros no processo de análise, o compilador MOF se conecta ao servidor WMI em execução no computador local, a menos que a opção -check seja especificada. Classes e instâncias definidas no arquivo MOF são adicionadas ao repositório WMI.

Quando ocorre um erro ao atualizar o repositório WMI, o compilador não tenta retornar o repositório ao seu estado antes que o compilador comece a processar.

Windows 8: ao instalar um provedor, o mofcomp tratará os qualificadores [Key] e [Static] como verdadeiros se estiverem presentes, independentemente de seus valores reais. Outros qualificadores serão tratados como falsos se estiverem presentes, mas não definidos explicitamente como verdadeiros.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008

Confira também

pragma namespace

Compilar arquivos MOF

Compilar arquivos MOF localizados

Registrar um provedor

IMOFCompiler::CompileFile