标准 WMI 限定符

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

改正

数据类型: 布尔值

适用于:类

指示类包含经过修改的已修改限定符。 默认值为 TRUE

可以转换关联的类。 若要访问翻译后的版本,请使用区域设置标识符来构造命名空间名称。

绕过 _ GetObject

数据类型: 布尔值

适用于:方法

指示方法调用应当直接传递给提供程序的 ExecMethodAsync 调用,而不是提供程序首先调用 GetObject 来验证对象路径。 默认值为 FALSE。 使用 绕过 _ GetObject 可以显著提高性能。

使用 " 绕过 _ GetObject" 之前,请确保没有执行下列操作:

  • 从类派生类。
  • 重写具有 绕过 _ GetObject 限定符的方法。

如果不遵循这些预防措施,则可能会导致调用父类的方法实现,而不是子类。 有关详细信息,请参阅使用 "绕过 _ GetObject 限定符"。

CIM _ 密钥

数据类型: CIM _ 布尔值

适用于:属性

指示关联的属性是 CIM 中的键属性,而不是 WMI 中的键属性。

CIMType

数据类型: VT _ BSTR

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

包含描述属性的类型的文本。

ClassContext

数据类型: VT _ BSTR

适用于:类

指示类具有与提供程序动态提供的详细信息关联的实例。

弃用

数据类型: CIM _ 布尔值

适用于:属性、类

指示属性已被另一个属性取代。

显示

适用于:类、属性

关联类的 UUID

动态

数据类型: 布尔值

适用于:类、属性

指示一个类,该类的实例是动态创建的。 此限定符的值必须设置为 TRUE

DynProps

数据类型: 布尔值

适用于:类、实例

指示实例包含动态属性提供程序提供的值。 默认值为 TRUE

必须在此类实例上指定此限定符。 仅允许值 TRUE

小数点

数据类型: CIM _ 布尔值

适用于:实例

指示此属性的值在实例的生存期内不能更改。

识别

数据类型: VT _ I4

适用于:属性、参数

当自动生成 MOF 语句时,可以唯一地标识和序列属性或方法参数。

此限定符仅对方法参数是必需的。 为方法创建参数时,类设计器应以第一个参数的 Id (0) 开头,并为每个连续的参数使用每个连续的整数。 如果无意中省略了 id 限定符,MOF 编译器会自动生成 id 限定符。

实现

数据类型: 布尔值

适用于:方法

指示某一方法具有提供程序提供的实现。

InstanceContext

数据类型: VT _ BSTR

适用于:实例

指示实例包含动态属性提供程序提供的值。

将值作为参数传递给 IWbemPropertyProvider:: GetProperty 方法的参数。

本地

数据类型: VT _ BSTR

适用于:类或实例

指定类或实例的源语言。 有关区域设置值的详细信息,请参阅 区域设置代码

NamespaceSecuritySDDL

数据类型: 字符串数组

适用于:命名空间实例

SDDL 格式指定命名空间的安全描述符。 有关详细信息,请参阅 在创建命名空间时设置命名空间安全性。 SDDL 字符串由 WMI 处理,以建立命名空间安全但不存储为字符串。 如果未指定安全描述符,则使用默认安全性。 有关详细信息,请参阅 设置命名空间安全描述符

可有可无

数据类型: 布尔值

适用于:参数

指示参数不是必需的,并且它具有良好的默认值。

权限

数据类型: 字符串数组

适用于:属性、方法

一组值,用于通知客户端创建实例、填充属性或执行方法所需的权限。 默认值为 FALSE

PropertyContext

数据类型: VT _ BSTR

适用于:属性

指示实例属性包含动态属性提供程序提供的值。

必须对此类属性指定此限定符。 该值作为参数传递给 IWbemPropertyProvider:: GetProperty的属性提供程序。

程序

数据类型: VT _ BSTR

适用于:类

此限定符的值是动态提供程序的名称,该提供程序提供类实例并刷新实例数据。 此名称必须通过使用包含名称属性的 _ _ Win32Provider类的实例(包含此名称的 名称 属性)来注册到 WMI。 如果在动态提供其实例的类上指定此限定符,则还必须指定 动态 限定符。

RequiresEncryption

数据类型: 布尔值

适用于:命名空间实例

如果设置为 TRUE,则 RequiresEncryption 将标记命名空间,以便客户端应用程序和脚本必须通过加密身份验证进行连接。 身份验证级别必须设置为 c + + 中的 RPC _ C _ 身份验证 _ level _ PKT _ 隐私 。 在脚本编写或 Visual Basic 中,身份验证级别必须设置为 WbemAuthenticationLevelPktPrivacy。 有关详细信息,请参阅 设置命名空间安全描述符。 限定符用于具有杂注命名空间预处理器命令的 MOF

有关详细信息,请参阅 使用 c + + 设置默认进程安全级别使用 VBScript 设置默认进程安全级别。 脚本身份验证级别是在 WbemAuthenticationLevelEnum中定义的。

实体

数据类型: 布尔值

适用于:类

指定一个只能有一个实例并且不包含键属性的类。

仅允许) (默认值为 TRUE

静止

数据类型: 布尔值

适用于:方法

指示方法是否可以通过使用类定义或其实例进行调用。

不能从实例调用方法。

类型

数据类型: VT _ BSTR

适用于:属性

指示类型为 CIM _ DATETIME 的属性表示时间间隔,而不是特定的时间。

若要将属性标识为间隔,则此限定符的值必须为 "interval"。 此限定符的所有其他值保留供将来使用。

UUID

数据类型: 字符串

适用于:类

应用于类的全局唯一标识符。

ClassVersion

数据类型: 字符串

适用于:类

类对象的版本号。 默认值为 NULL。 当对类进行更改时,版本号将递增。

WritePrivileges

数据类型: 字符串数组

适用于:属性

一组值,用于指示哪些系统权限必须可用,并且已启用成功的写操作。

备注

区域设置代码

区域设置代码的格式为 "MS _ "。 例如,英语区域设置为 MS _ 409。 下表列出了语言 Id。

语言 语言 ID (十六进制)
阿拉伯语 401
葡萄牙语(巴西) 416
中文(简体) 804
中文(繁体) 404
捷克语 405
丹麦语 406
荷兰语 413
英语(默认) 409
芬兰语 40b
法语 40c
德语 407
希腊语 408
希伯来语 40d
匈牙利语 40e
意大利语 410
日语 411
朝鲜语 412
挪威语 414
波兰语 415
葡萄牙语(葡萄牙) 816
俄语 419
西班牙语 c0a
瑞典语 41D
土耳其语 41f

使用绕过 _ GetObject 限定符

在方法上使用 " 绕过 _ GetObject 限定符" 会产生混乱的结果。

下面的示例定义了 形状Circle 类。 请注意, Circle 类派生自 Shape 类。

class Shape
{
   string Name;
   uint32 DrawIt();  // - draws an irregular geometric shape
};

class Circle : Shape
{
   uint32 DrawIt();  // - draws a circle
};

ExecMethod 的以下调用使用一个名为 "MyCircle" 的 circle 对象绘制一个圆圈。

ExecMethod("Shape.Name='MyCircle'","DrawIt");

在前面的方案中,WMI 会调用 GetObject;发现 "Shape. Name = ' MyCircle '" 是 圆圈;并执行 DrawIt循环 实现。 但是,如果您在 DrawIt 上使用 绕过 _ GetObject 限定符,则 WMI 不会调用 getobject,不会发现该 "Shape. Name = ' MyCircle '" 是一个 圆圈,而是执行 DrawIt形状 实现,而不是 DrawIt循环 实现。

以下对 ExecMethod 的调用始终调用正确的 DrawIt 实现。

ExecMethod("Circle.Name='MyCircle'","DrawIt");

要求

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

另请参阅

设置命名空间安全描述符

WMI 限定符

添加限定符