使用 MOF 创建实例

你可以使用托管对象格式 (MOF) 在 Windows 管理服务中声明类的基本实例。 你还可以覆盖实例的默认值。 有关详细信息,请参阅设置实例属性值

以下过程描述了如何使用 MOF 代码声明类的基本实例。

使用 MOF 代码声明类的基本实例

  1. 使用 Instance of 关键字,后跟类名、花括号和分号。

    以下代码示例显示如何声明类的实例。

    instance of ClassName
    {
    };
    
  2. 完成后,使用 MOF 编译器将 MOF 代码插入 WMI 存储库。

    有关详细信息,请参阅编译 MOF 文件

类的实例包括该类的所有属性。 如果该类是派生类,则实例包括层次结构较高层中所有类的属性。 创建实例所基于的每个类都有一个或多个键属性。 无法创建具有超过 256 个键的实例。

设置实例属性值

由于 WMI 坚定地键入属性,因此无法修改属性类型。 但是,可以在实例中设置属性值。 类为属性分配默认值时,WMI 将为每个实例分配默认值。 可以在实例声明中覆盖此值。

以下过程描述了如何使用 MOF 代码设置属性值或覆盖默认值。

使用 MOF 代码设置属性值或覆盖默认值

  1. 在实例声明的花括号之间放置赋值语句。

    以下代码示例显示如何设置属性值。

    instance of ClassName
    {
        Prop = "value";
    };
    

    WMI 不要求在实例创建期间设置任何属性。 标有 Key 限定符的所有属性除外。 由于 WMI 使用键属性来唯一地标识实例,因此必须为其设置所有键属性。 相反,不得在实例声明中设置系统属性。 WMI 在必要时会为系统属性分配适当的值。

  2. 完成后,调用 MOF 编译器,将 MOF 代码插入 WMI 存储库。

    有关详细信息,请参阅编译 MOF 文件

以下代码示例显示实例如何为类定义的属性指定数据。

class MyClass 
{
    [key] string   strProp;
    sint32   dwProp1;
    uint32       dwProp2;
};

instance of MyClass 
{
    strProp = "hello";
    dwProp1 = -1;
    dwProp2 = 0xffffffff;
};

上述示例中的类定义了三个属性:字符串、32 位有符号整数和 32 位无符号整数。 该实例为这些属性中的每一个都提供了数据值。