标准限定符

所有符合 CIM 标准的实现必须处理一组标准限定符。 任何特定对象均未列出所有限定符。 通常情况下,扩展类提供附加限定符以便于对类实例和类的其他操作进行设置。

提供程序负责强制实施限定符。 WMI 不强制执行限定符,但使用它们只是为了通知用户有关如何使用属性的信息。

备注

WMI 符合 CIM 2.5 规范。

限定符具有以下限制:

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

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

抽象

数据类型: 布尔值

适用于:类、关联、指示

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

中心

数据类型: 布尔值

适用于:引用

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

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

聚合

数据类型: 布尔值

适用于:关联

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

A

数据类型: 字符串

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

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

ArrayType

数据类型: 字符串

适用于:属性、参数

限定数组的类型。

有效值是:

  • 袋 (默认值)
  • 索引的
  • ordered

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

数据类型: 字符串数组

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

地图,其中每个重要位置都可以是 "开" 或 "关"。 每个 "on" 位映射到 BitValues 数组中的相应值。 通过使用多个位 "on",可以指定 BitValues 数组中的多个并发值。 默认值为 NULL

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

BitValues

数据类型: 字符串数组

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

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

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

构造

数据类型: 布尔值

适用于:方法

指示该方法是否创建实例。 这些方法不会被约束为在单个实例或单个类上操作。 例如,构造函数可以创建关联实例以及定义该构造函数的类的实例。

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

CreateBy

数据类型: 字符串

适用于:类

用来创建此类的实例的方法的名称。 该值为 "PutInstance" 或创建实例的其他方法的名称。 默认值为 NULL

用法:只有在存在 SupportsCreate 限定符时才可使用此限定符。

DeleteBy

数据类型: 字符串

适用于:类

从中删除此类的实例的方法的名称。 该值可以是 "DeleteInstance",也可以是删除实例的其他方法的名称。 默认值为 NULL

用法:只有在存在 SupportsDelete 限定符时才可使用此限定符。

Description

数据类型: 字符串

适用于: any

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

函数

数据类型: 布尔值

适用于:方法

指示该方法是否删除实例。 使用 析构函数 限定符的方法会删除应用了析构函数的) (实例,并且这些实例不会被约束为在单个实例或类上操作。 例如,析构函数可以删除关联实例以及定义析构函数的类的实例。

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

DisplayName

数据类型: 字符串

适用于: any

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

EmbeddedInstance

数据类型: 字符串

适用于: any

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

衡量

数据类型: 布尔值

适用于: any

指示属性是否表示一个非负整数,该整数可以增加或减少,但绝不会超出最大值。 默认值为 FALSE

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

数据类型: 布尔值

适用于:参数

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

In、Out

数据类型: 布尔值

适用于:参数

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

按键

数据类型: 布尔值

适用于:属性、引用

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

适用于:属性

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

MappingStrings

数据类型: 字符串数组

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

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

数量

数据类型: int

适用于:引用

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

MaxLen

数据类型: int

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

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

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

Timespan.maxvalue

数据类型: int

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

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

Min

数据类型: int

适用于:引用

引用的最小基数 (给定引用可为关联) 中的每组其他引用值指定的最小值数。 默认值为 0。

例如,如果某个关联将实例与 B 实例相关联,并且每个 B 实例都必须至少有一个实例,则对的引用应该至少有一个限定符。

MinValue

数据类型: int

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

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

ModelCorrespondence

数据类型: 字符串数组

适用于:属性

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

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

"_" "."

数据类型: 字符串

适用于:引用

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

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

NonlocalType

数据类型: 字符串

适用于:引用

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

用法:此限定符不能与非 本地 限定符一起使用。

NullValue

数据类型: 字符串

适用于:属性

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

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

数据类型: 布尔值

适用于:参数

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

忽略

数据类型: 字符串

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

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

格式为:

[<>。 ] <从属构造>

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

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

OverrideValue

适用于:类

指示子类上的属性值是否重写父类中的值。 函数的含义是,如果对父类执行查询,并且 WHERE 子句包括此属性,则父项必须返回具有重写值的实例。 因此,Windows Management 会将发送到父类的查询的 WHERE 子句调整为排除对此属性的引用。

立即

数据类型: 字符串

适用于:属性

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

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

[<>。 ] <从属构造>

用法:使用 传播 的限定符时,必须使用值 TRUE 指定 密钥限定符。

读取

数据类型: 布尔值

适用于:属性

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

必填

数据类型: 布尔值

适用于:属性

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

A01

数据类型: 字符串

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

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

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

模式

数据类型: 字符串

适用于:属性、方法

定义此功能的架构的名称。 默认值为 NULL

源程序

数据类型: 字符串

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

实例的位置。 默认值为 NULL

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

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

SourceType

数据类型: 字符串

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

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

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

SupportsCreate

数据类型: 布尔值

适用于:类

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

SupportsDelete

数据类型: 布尔值

适用于:类

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

SupportsUpdate

数据类型: 布尔值

适用于:类

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

最终

数据类型: 布尔值

适用于:类

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

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

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

计算

数据类型: 字符串

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

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

例如,对于 Units,大小数据项的值可能为 "bytes"。

ValueMap

数据类型: 字符串数组

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

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

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

分隔

数据类型: 字符串数组

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

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

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

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

版本

数据类型: 字符串

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

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

薄弱

数据类型: 布尔值

适用于:引用

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

当被引用的类的标识依赖于关联中其他参与者的标识时,将使用此限定符。 对任何给定类的引用不能是弱的。 关联中的其他类必须定义键。 关联中其他类的键在引用的类中重复,并使用 传播 的限定符进行标记。

写入

数据类型: 布尔值

适用于:属性

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

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

WriteAtCreate

数据类型: 布尔值

适用于:属性

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

WriteAtUpdate

数据类型: 布尔值

适用于:属性

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

示例

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

要求

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

另请参阅

WMI 限定符

添加限定符