描述具有限定符特色信息的限定符

限定符风格是描述有关限定符的详细信息的标志。 例如,受限限定符风格指出 WMI 不应将关联的限定符传播到任何派生类或实例。 可以使用 MOF 代码或以编程方式设置风格。 虽然可以使用风格描述各种效果,但风格标志的主要用途是定义 WMI 如何通过继承传播限定符。

WMI 定义了多个限定符风格,你可以将这些风格附加到任何限定符,而不考虑限定符的来源。 但是,某些风格不适合所有限定符类型。 例如,ToSubClass 风格仅适用于为类定义的限定符。 不能将 ToSubClass 附加到用于描述实例的限定符。

可以使用风格来描述限定符的各种不同效果。 例如,风格可以指示是否可以本地化限定符。 但是,限定符风格的主要用途之一是描述父类是否可以将限定符传递给子类或类实例。 还可以使用风格来确定类属性是否将限定符传递给实例属性。 最后,使用风格来说明子类是否可以替代继承的限定符的原始值。 但是,为类或实例声明的限定符不会传播到该类或实例的属性。 此外,仅当还设置了 ToInstance 或 ToSubClass 风格时,建立替代权限的风格才有效。

可以使用以下语法,将风格全局分配给整个 MOF 文件的限定符,在该语法中,指定多个风格时空格充当分隔符。

Qualifier QualifierName : flavor1 <flavor2...>;

全局风格适用于 MOF 文件中限定符的所有后续使用。 全局风格语句可以出现在对象声明块外部的文件中的任意位置。 在类、实例或属性级别重新定义的风格将覆盖该对象范围的全局风格声明。

不能定义新风格。 尽管可以创建新的限定符,但只能使用现有的限定符风格来描述新的限定符。

在 MOF 中定义限定符风格

  • 声明如下风格:在限定符名称之后,且在限定符括号中描述给定限定符。 使用空格作为多种风格之间的分隔符。

    以下示例显示了附加预定义限定符的模式。

    [qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
    

只能在 C++ 中以编程方式添加限定符风格。 此操作在 WMI 的脚本 API 中不可用,但可以通过调用 SWbemQualifierSet.Add 来添加新限定符。

使用 C++ 分配风格