Aplicación de un calificador

Al igual que muchas otras técnicas en Managed Object Format (MOF), aplicar un calificador al código es un proceso relativamente sencillo.

Los únicos desafíos reales son las siguientes restricciones en las convenciones de nomenclatura que aplica WMI:

  • Un calificador puede describir una clase, instancia, propiedad, método o parámetro de método.

  • Los nombres de calificador no pueden tener caracteres de subrayado iniciales o finales.

  • Un nombre de calificador no puede comenzar por un dígito.

  • Un nombre de calificador no puede contener caracteres especiales como & * @ ! ~ \ /.

  • Todos los nombres de calificador no distinguen mayúsculas de minúsculas.

  • No se pueden redefinir los calificadores WMI estándar ni los calificadores descritos en la especificación CIM DMTF.

  • Los tipos de calificador no se declaran explícitamente.

    Si no declara un tipo de calificador, WMI asume el tipo como booleano con un valor TRUE. De lo contrario, los calificadores de tipos WMI se basan en los valores de calificador que declare.

  • Al crear sus propios calificadores, debe prefijar el nombre del esquema al nombre del calificador.

    El propósito de esta regla es evitar confusiones con nuevos calificadores.

  • Puede crear matrices homogéneas de calificadores.

    En el ejemplo de código siguiente se muestra cómo se especifican las matrices de calificador con llaves que rodean los valores.

    [StringArray{"hello", "there"}, SingleElementArray{3}]
    
  • WMI no admite tipos de automatización que no aparecen en la referencia, como VT_NULL. Para más información, consulte Tipos de datos MOF.

El procedimiento siguiente le ayuda a usar C++ para agregar un calificador a una propiedad.

Para aplicar un calificador mediante C++

El procedimiento siguiente le ayuda a aplicar un calificador en archivos MOF.

Para describir una palabra clave o un identificador con un calificador mediante MOF

  • Coloque un calificador entre corchetes antes de la palabra clave o el identificador descritos por el calificador.

    En el ejemplo de código siguiente se muestra cómo se usan los calificadores.

    [qualifiers...]
    class StdDisk
    {
      [qualifiers...]  uint32 dwNumCylinders;
      [qualifiers...]  uint32 dwNumHeads;
      [qualifiers...]  sint32 Method1();
      sint32 Method2([qualifiers...] Parameter1);
    };
    

    En el ejemplo siguiente se describe la ubicación adecuada de calificadores.

    [Abstract]
    class MyClass
    {
        [Amendment, InstanceOf]  uint32 dwNumber;
        sint32 MyMethod ([in] sint32 Param);
    };