Descripción de un calificador con un tipo de calificador
Un tipo de calificador es una marca que describe más información sobre un calificador. Por ejemplo, el tipo de calificador Restringido indica que WMI no debe propagar el calificador asociado a ninguna clase o instancia derivadas. Para establecer los tipos se pueden usar código MOF o programación. Aunque se pueden describir varios efectos con los tipos, los principales propósitos de las marcas de tipo es definir la forma en que WMI propaga calificadores a través de la herencia.
WMI define varios tipos de calificador que se pueden adjuntar a cualquier calificador, independientemente del origen de este. Sin embargo, algunos tipos no son adecuados para todos los tipos de calificador. Por ejemplo, el tipo ToSubClass solo es adecuado para los calificadores definidos para una clase. No se puede adjuntar ToSubClass a un calificador usado para describir una instancia.
Los tipos se pueden usar para describir varios efectos diferentes para calificadores. Por ejemplo, un tipo puede indicar si un calificador se puede localizar. Sin embargo, uno de los principales propósitos de un tipo calificador es describir si una clase principal puede pasar calificadores a una subclase o a una instancia de clase. Los tipos también se pueden usar para determinar si una propiedad de clase pasa un calificador a una propiedad de instancia. Por último, los tipos se usan para indicar si una subclase puede invalidar el valor original de un calificador heredado. Sin embargo, los calificadores que se declaran para una clase o instancia no se propagan a las propiedades de esa clase o instancia. Además, los tipos que establecen permisos de invalidación solo son válidos si también se establecen los tipos ToInstance o ToSubClass.
Cualquier tipo se puede asignar globalmente a un calificador en todo un archivo MOF mediante la siguiente sintaxis, en la que el espacio en blanco actúa como delimitador cuando se especifican varios tipos.
Qualifier QualifierName : flavor1 <flavor2...>;
Los tipos globales se aplican a todos los usos posteriores del calificador en el archivo MOF. Las instrucciones de tipo global pueden producirse en cualquier lugar del archivo fuera de un bloque de declaración de objetos. Los tipos redefinidos en el nivel de clase, instancia o propiedad invalidan las declaraciones de sabor global para el ámbito de ese objeto.
No se puede definir un nuevo tipo. Aunque puede crear un calificador, use solo los tipos de calificadores existentes para describirlo.
Para definir los tipos de calificador en MOF
Declare los tipos que describen un calificador determinado después del nombre del calificador, entre los corchetes del calificador. Use un espacio en blanco como delimitador cuando haya varios tipos.
En el ejemplo siguiente se muestra el patrón para adjuntar calificadores predefinidos.
[qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
Solo se pueden agregar tipos de calificadores mediante programación en C++. Esta operación no está disponible en la API de scripting para WMI, aunque se puede agregar un nuevo calificador llamando a SWbemQualifierSet.Add.
Para asignar un tipo mediante C++
- Llame al método IWbemQualifierSet::P ut con el parámetro lFlavor establecido en una de las constantes definidas para dicho método.