Compilación de archivos MOF localizados

Debe compilar el archivo MOF maestro para crear los archivos MOF independientes del lenguaje y específicos del lenguaje.

Escriba el siguiente comando en un símbolo del sistema para compilar el archivo MOF maestro.

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

Al ejecutar este comando, el compilador MOF crea dos archivos MOF a partir del archivo Mastermof.mof original. El compilador de MOF genera una versión independiente del lenguaje, Lnmof.mof, en la que se quitan todos los elementos específicos del lenguaje. También se crea una segunda versión específica del lenguaje, Lsmof.mof; este archivo contiene solo elementos marcados con el Calificador Amended en el archivo Mastermof.mof.

En el ejemplo de código siguiente se muestra el contenido del archivo MOF independiente del lenguaje (Lnmof.mof) que se genera.

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

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

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

En el ejemplo de código siguiente se muestra el contenido del archivo MOF específico del lenguaje (Lsmof.mof) que se genera.

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

La compilación de un archivo MOF con el calificador Amended solo genera archivos MOF independientes y específicos del lenguaje; el repositorio CIM no se actualiza con la nueva información de clase. Debe usar el compilador MOF para compilar los dos archivos MOF que ha generado la primera compilación antes de que cualquier información de clase esté disponible para WMI.

Al compilar un archivo MOF maestro, solo los calificadores con el tipo Amended mueven al archivo MOF específico del lenguaje. Los calificadores que no tienen el tipo Amended no se localizan y solo existen en la definición de clase básica en el archivo MOF independiente del lenguaje. Los calificadores no localizados se pueden usar para las descripciones predeterminadas si no hay descripciones localizadas disponibles.

Puede usar el comando pragma amendment en lugar de especificar Amended como modificador al compilador MOF. Cualquiera de estas opciones equivale a solicitar versiones específicas del lenguaje y neutras del lenguaje de un archivo MOF. Si usa el comando pragma amendment o la opción de línea de comandos Amended, debe especificar el nombre de los archivos de salida mediante las opciones -MFL y -MOF en el símbolo del sistema.

Nota

El archivo MOF independiente del lenguaje que genera el compilador MOF contiene el equivalente decimal del identificador de configuración regional, incluso si este valor se ha especificado en hexadecimal. En el ejemplo anterior, el compilador ha convertido el valor 0x409 al número decimal 1033 para el archivo de salida Lnmof.mof.