标准 WMI 限定符

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

修订

数据类型: 布尔值

适用于:类

指示类包含已本地化的修订限定符。 默认值为 TRUE

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

Bypass_GetObject

数据类型: 布尔值

适用于:方法

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

在使用 Bypass_GetObject之前,请确保未执行以下两项操作:

  • 从类派生类。
  • 重写具有 Bypass_GetObject 限定符的方法。

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

CIM_Key

数据类型: CIM_BOOLEAN

适用于:属性

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

CIMType

数据类型: VT_BSTR

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

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

ClassContext

数据类型: VT_BSTR

适用于:类

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

废弃

数据类型: CIM_BOOLEAN

适用于:属性、类

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

显示

适用于:类、属性

关联的类的 UUID

动态

数据类型: 布尔值

适用于:类、属性

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

DynProps

数据类型: 布尔值

适用于:类、实例

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

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

固定

数据类型: CIM_BOOLEAN

适用于:实例

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

ID

数据类型: VT_I4

适用于:属性、参数

在自动生成 MOF 语句时,唯一标识并排序属性或方法参数。

仅方法参数需要此限定符。 为方法创建参数时,类设计器应首先使用 ID (0) 作为第一个参数,并为每个连续参数使用每个连续整数。 如果无意中省略 ID 限定符,MOF 编译器会自动生成 ID 限定符。

实现

数据类型: 布尔值

适用于:方法

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

InstanceContext

数据类型: VT_BSTR

适用于:实例

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

该值作为参数传递给属性提供程序,作为 IWbemPropertyProvider::GetProperty 方法的参数。

现场

数据类型: VT_BSTR

适用于:类或实例

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

NamespaceSecuritySDDL

数据类型: 字符串数组

适用于:命名空间实例

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

数据类型: 布尔值

适用于:参数

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

特权

数据类型: 字符串数组

适用于:属性、方法

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

PropertyContext

数据类型: VT_BSTR

适用于:属性

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

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

供应商

数据类型: VT_BSTR

适用于:类

此限定符的值是提供类实例和刷新实例数据的动态提供程序的名称。 此名称必须通过创建包含此名称的 Name 属性的 __Win32Provider 类的实例来向 WMI 注册。 在动态提供实例的类上指定此限定符时,还必须指定 动态 限定符。

RequiresEncryption

数据类型: 布尔值

适用于:命名空间实例

如果设置为 TRUERequiresEncryption 将标记命名空间,以便客户端应用程序和脚本必须连接到加密的身份验证。 身份验证级别必须设置为 C++ 中的 RPC_C_AUTHN_LEVEL_PKT_PRIVACY 。 在脚本或Visual Basic中,身份验证级别必须设置为 WbemAuthenticationLevelPktPrivacy。 有关详细信息,请参阅 设置 Namepace 安全描述符。 限定符用于 MOF 和杂注命名空间预处理器命令。

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

单身 人士

数据类型: 布尔值

适用于:类

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

仅允许值为 TRUE (默认) 。

静态

数据类型: 布尔值

适用于:方法

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

无法从实例调用该方法。

数据类型: VT_BSTR

适用于:属性

指示 CIM_DATETIME 类型的属性表示时间间隔而不是特定时间。

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

UUID

数据类型: 字符串

适用于:类

应用于类的通用唯一标识符。

ClassVersion

数据类型: 字符串

适用于:类

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

WritePrivileges

数据类型: 字符串数组

适用于:属性

一组值,该值指示哪些系统特权必须可用,并为成功的写入操作启用这些权限。

注解

区域设置代码

区域设置代码的格式为“MS_<Three 数字语言 ID>”。 例如,英语区域设置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

使用Bypass_GetObject限定符

对方法使用 Bypass_GetObject 限定符可能会产生令人困惑的结果。

以下示例定义 ShapeCircle 类。 请注意, 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 上使用Bypass_GetObject限定符,WMI 不会调用 GetObject,则不会发现“Shape.Name='MyCircle'”是圆圈,并执行 DrawItShape 实现而不是 DrawIt圆形实现。

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

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

要求

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

另请参阅

设置 Namepace 安全描述符

WMI 限定符

添加限定符