mofcomp

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

Para obter mais informações sobre como localizar e usar mofcomp.exe, consulte Como usar as Ferramentas de Gerenciamento do WMI. Para obter informações sobre como remover classes e instâncias do repositório WMI, consulte o comando preprocessador 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 de 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 uma verificação de sintaxe somente 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 Windows Instrumentação de Gerenciamento (WMI) é 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, raiz\\padrão, 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 de namespace \#pragma forem usados, \#**namespace pragma** **autorecover** tem prioridade. Nesse caso, a única maneira de compilar o MOF em outro namespace é editar o arquivo MOF e alterar o comando \#**namespace pragma**. 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 se já existir uma classe especificada no arquivo MOF.

-class:forceupdate

Força 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 forçada 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 se uma classe especificada no arquivo MOF não existir.

-instance:updateonly

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

-instance:createonly

Solicita que o compilador não faça alterações em instâncias existentes. Quando essa opção é usada, a operação de compilação termina se já existir uma instância especificada no arquivo MOF.

-B:<filename>

Solicita que o compilador crie uma versão binária do arquivo MOF com o nome do arquivo de nome 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 sabores 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 exatamente como um arquivo MOF de texto faz 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 Senha 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:<Autoridade>

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

-MOF:<path>

Nome da saída neutra do idioma. Usado com a opção -AMENDMENT para especificar o nome do arquivo MOF neutro em 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 neutras em linguagem e específicas. O compilador MOF cria uma forma neutra em linguagem 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 classe localizadas. O formato do parâmetro Locale é MS_xxx onde xxx é o valor hexadecimal do LCID 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 o comutador -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 pôde se conectar 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 para iniciar.

2

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

3

Ocorreu um erro de sintaxe MOF.

Se o arquivo MOF for analisado corretamente, mas for feita uma tentativa de executar uma operação proibida por um comutador 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 listados 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 autorecover #pragma 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. Você deve especificar o arquivo MOF como o parâmetro do Compilador MOF. Você também pode especificar uma opção De Autorecover se quiser que o arquivo MOF seja recompilado automaticamente se o Repositório CIM precisar ser recuperado automaticamente. 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 inicie o processamento.

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

Requisitos

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

Confira também

namespace pragma

Compilando arquivos MOF

Compilando arquivos MOF localizados

Registrando um provedor

IMOFCompiler::CompileFile