mofcomp

El compilador Managed Object Format (MOF) analiza un archivo que contiene instrucciones MOF y agrega las clases e instancias de clase definidas en el archivo al repositorio WMI. Normalmente, los archivos MOF se compilan automáticamente durante la instalación de los sistemas con los que se proporcionan, pero también puede compilar archivos MOF mediante esta herramienta.

Para obtener más información sobre la búsqueda y el uso de mofcomp.exe, consulte Usar herramientas de administración de WMI. Para obtener información sobre cómo quitar clases e instancias del repositorio WMI, vea el comando preprocesador pragma deleteclass.

En el ejemplo de código siguiente se muestra cómo ejecutar el compilador MOF en un archivo.

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>

Conmutadores

-autorecover

Agrega un archivo MOF a la lista de archivos compilados durante la recuperación del repositorio. La lista de archivos MOF de autorrecuperación se almacena en esta clave del registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\

Los archivos MOF enumerados en esta entrada del Registro deben residir en el equipo local porque los archivos MOF que usan el comando autorecover no pueden recuperar archivos MOF ubicados en un equipo remoto.

Nota

Para asegurarse de que todas las definiciones de clase WMI para objetos administrados se restauran en el repositorio WMI si WMI tiene un error y se reinicia, use la instrucción de preprocesador de autorrecuperación #pragma en el archivo Managed Object Format (MOF).

-check

Solicita que el compilador realice una comprobación de sintaxis solo e imprima los mensajes de error adecuados. No se puede usar ningún otro modificador con este modificador. Cuando se usa este modificador, no se establece ninguna conexión hacia Instrumental de administración de Windows (WMI) y no se realizan modificaciones en el repositorio WMI.

-N:<namespacepath>

Solicita que el compilador cargue el archivo MOF en el espacio de nombres especificado como *namespacepath*. El MOF compilado se carga en el espacio de nombres mofcomp predeterminado, root\\default, a menos que se use este modificador. También puede insertar el comando de preprocesador de espacio de nombres **\#pragma ("***namespace path***")** en el archivo MOF para lograr el mismo efecto. Si se usan el modificador **-N:** y el comando \#pragma namespace, \#**pragma namespace** **autorecover** tiene prioridad. En este caso, la única manera de compilar el MOF en otro espacio de nombres es editar el archivo MOF y cambiar el comando \#**pragma namespace**. Se puede especificar un equipo remoto mediante \\\\machinename\\root\\default.

-class:createonly

Solicita que el compilador no realice ningún cambio en las clases existentes. Cuando se usa este modificador, la operación de compilación finaliza si ya existe una clase especificada en el archivo MOF.

-class:forceupdate

Fuerza las actualizaciones de clases cuando existen clases secundarias en conflicto. Por ejemplo, supongamos que se define un calificador de clase en una clase secundaria y la clase base intenta añadir el mismo calificador. En el modo -class:forceupdate, el compilador MOF resuelve este conflicto eliminando el calificador en conflicto en la clase secundaria. Si la clase secundaria tiene instancias, se produce un error en la actualización forzada.

-class:safeupdate

Permite actualizaciones de clases incluso si hay clases secundarias siempre y cuando el cambio no cause ningún conflicto con las clases secundarias. Por ejemplo, esta marca permite agregar una nueva propiedad a la clase base que no se mencionó anteriormente en las clases secundarias. Si las clases secundarias tienen instancias, se produce un error en la actualización.

-class:updateonly

Solicita que el compilador no cree ninguna clase nueva. Cuando se usa este modificador, la operación de compilación finaliza si no existe una clase especificada en el archivo MOF.

-instance:updateonly

Solicita que el compilador no cree ninguna instancia nueva. Cuando se usa este modificador, la operación de compilación finaliza si no existe una instancia especificada en el archivo MOF.

-instance:createonly

Solicita que el compilador no realice ningún cambio en las instancias existentes. Cuando se usa este modificador, la operación de compilación finaliza si ya existe una instancia especificada en el archivo MOF.

-B:<filename>

Solicita que el compilador cree una versión binaria del archivo MOF con el nombre filename sin realizar modificaciones en el repositorio WMI.

Si usa la opción -B:<filename> para crear un archivo MOF binario, solo los tipos de calificador predeterminados se almacenan en el repositorio WMI.

El formato MOF binario es el formato intermedio para combinar un controlador WDM con el MOF como recurso. El MOF binario representa clases e instancias igual que un archivo MOF de texto y se comprime antes de almacenarse en el disco.

-WMI

Solicita que el compilador realice una comprobación de sintaxis de WMI. El modificador -B: debe usarse con este modificador. El modificador -WMI solo se usa para compilar archivos MOF binarios para usarlos por los controladores de dispositivo WDM. Este modificador invoca un comprobador de archivos MOF binario independiente, que se ejecuta después de crear el archivo MOF binario.

-P:<Password>

Especifica Password como contraseña para que el usuario del equipo introduzca al iniciar sesión.

-U:<UserName>

Especifica UserName como nombre del usuario que inicia sesión.

-A:<Authority>

Especifica Authority como autoridad (nombre de dominio) que se va a usar al iniciar sesión en WMI.

-MOF:<path>

Nombre de la salida neutral del idioma. Se usa con el modificador -AMENDMENT para especificar el nombre del archivo MOF neutral del idioma que se generará.

-MFL:<path>

Nombre de la salida específica del idioma. Se usa con el modificador -AMENDMENT para especificar el nombre del archivo MOF específico del idioma que se generará.

-AMENDMENT:<Locale>

Divide el archivo MOF en versiones neutrales del idioma y específicas. El compilador MOF crea una forma neutra del lenguaje del archivo MOF que ha quitado todos los calificadores modificados. También se crea una versión localizada del archivo MOF con una extensión de nombre de archivo MFL. El parámetro Locale especifica el nombre del espacio de nombres secundario que contiene las definiciones de clase localizadas. El formato del parámetro Locale es MS_xxx, donde xxx es el valor hexadecimal del LCID de Windows. Por ejemplo, la configuración regional para inglés americano es MS_409.

-ER <ResourceName>

Extrae MOF binarios de un recurso con nombre. Este modificador obtiene el MOF binario de la clase en el repositorio WMI mientras el modificador -B crea el formato MOF binario a partir de un archivo MOF.

-L:<ResourceLocale>

Opcional. Extrae las descripciones de MOF localizadas del MOF binario cuando se usa con el modificador -ER.

<MOFfile>

Nombre de archivo que se va a analizar.

Valores devueltos

Como primera operación, el compilador MOF realiza una comprobación de sintaxis en el archivo MOF. Si el compilador encuentra algún error, imprime un mensaje de error y finaliza el proceso.

El compilador MOF puede devolver los siguientes valores:

0

La operación de compilación MOF se realizó correctamente.

1

El compilador MOF no pudo conectarse con el servidor WMI. Esto se puede deber a un error semántico como una incompatibilidad con el repositorio WMI o a un error real como que no se ha iniciado el servidor WMI.

2

Uno o varios modificadores de la línea de comandos no eran válidos.

3

Ha ocurrido un error de sintaxis MOF.

Si el archivo MOF se analiza correctamente, pero se intenta realizar una operación prohibida por un modificador de línea de comandos, el compilador devuelve un código de error generado por WMI en lugar de cualquiera de los códigos de retorno enumerados en la lista anterior. Por ejemplo, se devuelve un código de error WMI cuando se especifica el modificador -instance:updateonly y el archivo MOF intenta crear una instancia.

Si la instrucción preprocesador de autorrecuperación #pragmano está en el archivo, se devuelve la siguiente advertencia:

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.

Comentarios

El compilador MOF está disponible en el directorio %Windir%\System32\wbem. Debe especificar el archivo MOF como parámetro del compilador de MOF. También puede especificar un modificador Autorecover si desea que el archivo MOF se vuelva a compilar automáticamente si el repositorio CIM alguna vez tiene que recuperarse automáticamente. Para obtener más información, escriba Mofcomp /? en el símbolo del sistema.

Un archivo MOF que usa el juego de caracteres Unicode contiene una firma como los dos primeros bytes del archivo. Esta firma es U+FFFE o U+FEFF, dependiendo del orden de bytes del archivo.

Cuando no se producen errores en el proceso de análisis, el compilador MOF se conecta al servidor WMI que se ejecuta en el equipo local a menos que se especifique el modificador -check. Las clases y las instancias definidas en el archivo MOF se agregan al repositorio WMI.

Cuando se produce un error al actualizar el repositorio WMI, el compilador no intenta devolver el repositorio a su estado antes de que el compilador comenzara a procesarse.

Windows 8: al instalar un proveedor, mofcomp trata los calificadores [Key] y [Static] como true si están presentes, independientemente de sus valores reales. Otros calificadores se tratan como false si están presentes pero no se establecen explícitamente en true.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008

Consulte también

pragma namespace

Compilar archivos MOF

Compilar archivos MOF localizados

Registrar un proveedor

IMOFCompiler::CompileFile