标准限定符

所有符合 CIM 的实现都必须处理一组标准限定符。 任何特定对象都未列出所有限定符。 通常,扩展类提供其他限定符,以帮助在类上预配类实例和其他操作。

提供程序负责强制实施限定符。 WMI 不强制实施限定符,而是使用它们来告知用户如何使用属性。

注意

WMI 符合 CIM 2.5 规范。

限定符具有以下限制:

  • 并非所有标准限定符都可以一起使用。
  • 并非所有限定符都可以应用于所有构造,例如关联或引用。 这些限制在“应用于”列表中标识。
  • 对于特定构造(如关联或引用),可以进一步限制使用法律限定符,因为某些限定符互斥,使用一个限定符可能意味着对另一个限定符的值有一些限制,依此类之。 记录了这些使用规则。
  • 法律限定符只能由属性、方法、实例或子类等实体继承,而不能由关联或引用继承。 例如,应用于属性的 MaxLen 限定符不是由引用继承的。

下表列出了 WMI 标准限定符。

抽象

数据类型: 布尔值

适用于:类、关联、指示

指示类是否为抽象类,并且仅作为新类的基数。 默认值为 FALSE。 不能创建抽象类的实例。 缺少此限定符表示类不是抽象的;因此,所有抽象类都需要此限定符。

骨料

数据类型: 布尔值

适用于:引用

指示引用是否为聚合关联的父组件。 默认值为 FALSE

用法:聚合和聚合限定符一起使用聚合限定关联,聚合指定父引用。

聚集

数据类型: 布尔值

适用于:关联

指示关联是否为聚合。 默认值为 FALSE。 与 聚合一起使用。 所有聚合关联都需要此限定符。

别名

数据类型: 字符串

适用于:属性、引用、方法

架构中属性或方法的备用名称。 默认值为 NULL

ArrayType

数据类型: 字符串

适用于:属性、参数

限定数组的类型。

有效值是:

  • 包 (默认)
  • 索引的
  • ordered

用法:仅将此类型的限定符应用于使用括号语法) 定义的数组 (的属性和参数。

位图

数据类型: 字符串数组

适用于:属性、方法、参数

有效位位置的映射,其中每个重要位置都可以“打开”或“关闭”。 每个“on”位映射到 BitValues 数组中的对应值。 通过“打开”多个位,指示 BitValues 数组中的多个并发值。 默认值为 NULL

有关详细信息,请参阅 BitMap 和 BitValues

BitValues

数据类型: 字符串数组

适用于:属性、方法、参数

将位位置值转换为关联的 字符串。 默认值为 NULL

有关详细信息,请参阅 BitMap 和 BitValues

构造 函数

数据类型: 布尔值

适用于:方法

指示该方法是否创建实例。 这些方法不限于对单个实例或单个类执行操作。 例如,构造函数可以创建关联实例以及定义构造函数的类的实例。

构造函数限定符仅用于信息,预计它由对象管理器处理。 创建对象时,对象管理器不必调用构造函数方法。 调用构造函数时,对象管理器不必调用为原始类的任何父类定义的任何构造函数方法。 默认值为 FALSE

CreateBy

数据类型: 字符串

适用于:类

创建此类实例的方法的名称。 该值为“PutInstance”或另一个创建实例的方法的名称。 默认值为 NULL

用法:仅当 SupportsCreate 限定符存在时,才能使用此限定符。

DeleteBy

数据类型: 字符串

适用于:类

删除此类实例的方法的名称。 该值为“DeleteInstance”,或删除实例的另一种方法的名称。 默认值为 NULL

用法:仅当 SupportsDelete 限定符存在时,才能使用此限定符。

Description

数据类型: 字符串

适用于:任意

命名元素的说明。 默认值为 NULL

析 构 函数

数据类型: 布尔值

适用于:方法

指示该方法是否删除实例。 使用 析构函数 限定符的方法将删除应用析构函数 (实例) ,并且不会限制为对单个实例或类执行操作。 例如,析构函数可能会删除关联实例以及定义析构函数的类的实例。

析构函数限定符仅用于信息,并且不期望它由对象管理器处理。 当删除实例时,对象管理器无需调用具有 析构函数 限定符的方法。 此外,调用析构函数时,对象管理器不必调用为原始类的任何父类定义的任何析构函数方法。 默认值为 FALSE

DisplayName

数据类型: 字符串

适用于:任意

UI 中显示的名称,而不是元素的实际名称。 默认值为 NULL

EmbeddedInstance

数据类型: 字符串

适用于:任意

限定的字符串类型元素包含嵌入实例。 限定符值指定与拥有限定元素的类位于同一命名空间中的 CIM 类的名称。 嵌入实例是指定类的实例,包括其子类的实例。 默认值为 NULL

数据类型: 布尔值

适用于:任意

指示属性是否表示非负整数,它可以增加或减少,但永远不会超过最大值。 默认值为 FALSE

属性的最大值不能大于 2^n - 1。 N 可以是 8、16、32 或 64,具体取决于应用此限定符的属性的数据类型。 每当所建模的信息大于或等于该最大值时,仪表的值都有其最大值。 如果正在建模的信息随后会降低到最大值以下,仪表也会减少。 此限定符仅适用于具有无符号整数数据类型的属性。

In

数据类型: 布尔值

适用于:参数

指示参数是否用于将值传递给方法。 默认值为 TRUE

In、Out

数据类型: 布尔值

适用于:参数

指示参数是否同时是输入和输出参数。

关键

数据类型: 布尔值

适用于:属性、引用

指示属性是否是命名空间句柄的一部分。 如果多个属性具有 密钥 限定符,则所有此类属性共同构成键 (复合键) 。 组合在一起时,键属性必须为每个类实例提供唯一引用。 如果此限定符放置在属性上,则只允许 值为 TRUE

懒惰

适用于:属性

指示属性是资源密集型的返回,并且需要大量的处理器时间和内存。 WMI 通过不尝试返回用 延迟 限定符标记的属性来提高查询的性能。

MappingStrings

数据类型: 字符串数组

适用于:类、属性、关联、指示、引用

一组值,该值指示指向位置的路径,可在其中找到有关属性、类、关联、指示或引用的源的详细信息。 映射字符串可以是目录路径、URL、注册表项、包含文件、对 CIM 类的引用或其他一些格式。 默认值为 NULL

麦克斯

数据类型: int

适用于:引用

给定引用可以针对关联中每个其他引用值集的最大值数。 默认值为 NULL。 例如,如果关联将 A 实例与 B 实例关联,并且每个 B 实例最多必须有一个 A 实例,则对 A 的引用应最多包含一个限定符。

MaxLen

数据类型: int

适用于:属性、方法、参数

字符串数据项) 字符的最大长度 (,并指示支持固定长度数组。

如果遇到固定长度数组, 则 MaxLen 限定符包含分析期间找到的固定长度。 如果遇到可变长度数组,则不会使用此限定符。 MaxLen 用于建议应在数组中存储的最大元素数。 重写默认值时,可以指定任何无符号整数值 (uint32) 。 NULL (默认) 的值表示无限长度。

MaxValue

数据类型: int

适用于:属性、方法、参数

对象的最大值。 默认值为 NULL

最小值

数据类型: int

适用于:引用

引用的最小基数 (给定引用可以针对关联) 中每个其他引用值集的最小值。 默认值为 0。

例如,如果关联将 A 实例关联到 B 实例,并且每个 B 实例必须至少有一个 A 实例,则对 A 的引用应至少具有一个限定符。

MinValue

数据类型: int

适用于:属性、方法、参数

指示对象的最小值。 默认值为 NULL

ModelCorrespondence

数据类型: 字符串数组

适用于:属性

一组值,该值指示对象属性与 CIM 架构中的其他属性之间的对应关系。 默认值为 NULL

使用以下语法标识对象属性。

"_" "."

外地

数据类型: 字符串

适用于:引用

实例的位置,其<值为 namespacetype>://<namespacehandle> 默认值为 NULL

用法:此限定符不能与 NonlocalType 限定符一起使用。

NonlocalType

数据类型: 字符串

适用于:引用

实例的位置类型。 其值为 <namespacetype>。 默认值为 NULL

用法:此限定符不能与 非局部限定 符一起使用。

NullValue

数据类型: 字符串

适用于:属性

指示关联属性为 NULL 的值, (该属性没有有效的或有意义的值) 。 默认值为 NULL

用于定义 NULL 值的约定和限制与适用于 ValueMap 限定符的约定和限制相同。 请注意,无法重写此限定符。 允许子类返回与父类不同的 NULL 值是不合理的。

Out

数据类型: 布尔值

适用于:参数

指示参数是否从方法返回值。 默认值为 FALSE

覆盖

数据类型: 字符串

适用于:属性、方法、引用

父类或从属构造 (属性、方法或引用) 由派生类中同名的属性、方法或引用重写。 默认值为 NULL

格式为:

[<class>.]<从属构造>

如果省略类名,则重写适用于类层次结构中父类中的从属构造。

用法: 重写 限定符只能引用基于同一元模型的构造。 不允许在重写操作期间更改构造名称或签名。

OverrideValue

适用于:类

指示子类上的属性值是否替代父类中的值。 功能含义是,如果对父类执行查询,如果 WHERE 子句包含此属性,则父级必须返回具有重写值的实例。 因此,Windows Management 调整发送到父类的查询的 WHERE 子句,以排除对此属性的引用。

传播

数据类型: 字符串

适用于:属性

正在传播的密钥的名称。 默认值为 NULL

使用此限定符假定只有一个弱限定符存在于包含类作为其目标的引用上。 关联属性必须与弱关联另一端类中的限定符命名的属性具有相同的值。 格式为:

[<class>.]<从属构造>

用法:使用传播限定符时,必须使用值为 TRUE限定符进行指定。

数据类型: 布尔值

适用于:属性

指示该属性是否可读。 默认值为 TRUE

必填

数据类型: 布尔值

适用于:属性

指示属性是否需要非 null 值。 默认值为 FALSE

修订

数据类型: 字符串

适用于:类、关联、指示、架构

架构对象的次要修订号。 默认值为 NULL

用法:使用修订限定符时,必须存在版本限定符才能提供主版本号。

模式

数据类型: 字符串

适用于:属性、方法

在其中定义该功能的架构的名称。 默认值为 NULL

数据类型: 字符串

适用于:类、关联、指示、引用

实例的位置。 默认值为 NULL

限定符的值是 <namespacetype>://<namespacehandle>。

用法: 限定符不能与 SourceType 限定符一起使用。

SourceType

数据类型: 字符串

适用于:类、关联、指示、引用

实例的位置类型。 此限定符的值是 <namespacetype>。 默认值为 NULL

用法: SourceType 限定符不能与 限定符一起使用。

SupportsCreate

数据类型: 布尔值

适用于:类

指示类是否支持创建实例。 默认值为 FALSE

SupportsDelete

数据类型: 布尔值

适用于:类

指示类是否支持删除实例。 默认值为 FALSE

SupportsUpdate

数据类型: 布尔值

适用于:类

指示类是否支持修改 (更新实例) 。 默认值为 FALSE

终端

数据类型: 布尔值

适用于:类

指示类是否可以具有子类。 默认值为 FALSE

如果声明子类,编译器将生成错误。

用法:此限定符不能与 抽象 限定符共存。 如果同时指定 终端抽象 限定符,编译器将生成错误。

单位

数据类型: 字符串

适用于:属性、方法、参数

在其中表示关联数据项的单位的类型。 默认值为 NULL

例如,大小数据项可能具有 单位的“字节”值。

ValueMap

数据类型: 字符串数组

适用于:属性、方法、参数

属性、方法返回类型或方法参数的允许值集。 默认值为 NULL

用法:此限定符可以单独使用,也可以与 限定符结合使用。 与 限定符结合使用时, ValueMap 数组中的值位置提供 Values 数组中相应条目的位置。 仅对字符串和整数值使用 ValueMap 限定符。 表示值映射数组中整数值的语法为 [+|=]digit[*digit]。 内容、最大位数和表示的值受关联属性的类型的约束。 例如,uint8 可能未签名,必须小于四位数,并且必须表示小于 256 的值。

数据类型: 字符串数组

适用于:属性、方法、参数

将整数值转换为关联字符串的值集。 默认值为 NULL

此属性还指定要映射到枚举属性的字符串值的数组。 此限定符可以应用于整数属性或字符串属性,映射可以是隐式或显式的。 如果映射为隐式映射,则整数或字符串属性值表示 Values 数组中的序号位置。 如果映射是显式的,则属性必须是整数,并且有效属性值列在 ValueMap 限定符定义的数组中。 有关详细信息,请参阅 值映射

如果 ValueMap 限定符不存在,则 数组通过使用关联属性、方法返回类型或方法参数中的值 (从零相对) 编制索引。 如果存在 ValueMap 限定符,则值索引由值映射中属性值的位置定义。

版本

数据类型: 字符串

适用于:类、架构、关联、指示

架构对象的主要版本号。 默认值为 NULL。 对更改接口的架构进行更改时,版本号会递增。

数据类型: 布尔值

适用于:引用

指示所引用类的键是否包含关联中其他参与者的键。 默认值为 FALSE

引用类的标识取决于关联中的其他参与者的身份时,将使用此限定符。 对任何给定类的多个引用都可能比较弱。 关联中的其他类必须定义键。 关联中的其他类的键在引用的类中重复,并使用 传播 限定符标记。

数据类型: 布尔值

适用于:属性

指示应用程序或脚本可以更改属性值。 运行应用程序的帐户必须有权访问包含类实例的命名空间。 提供程序实现还可以限制访问提供程序数据。 TRUE 值表示该属性可由 WMI 和提供程序允许访问的使用者读取和写入。 默认值为 FALSE

缺少 写入 限定符的属性可能仍可写。 提供程序实现可能允许更改提供程序类中的任何属性,无论 写入 限定符是否存在。

WriteAtCreate

数据类型: 布尔值

适用于:属性

指示在创建实例时属性是否可写入。 此限定符可与 WriteAtCreate 限定符结合使用。 默认值为 FALSE

WriteAtUpdate

数据类型: 布尔值

适用于:属性

指示属性是否在实例更新时可写入。 此限定符可与 WriteAtCreate 限定符结合使用。 默认值为 FALSE

示例

有关检索限定符的详细信息,请参阅 TechNet 库中的 Get-WmiClassMethodsAndWritableWmiProperties PowerShell 代码示例。

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008

另请参阅

WMI 限定符

添加限定符