MOF を使用したインスタンスの作成

マネージド オブジェクト形式 (MOF) を使用して、Windows管理サービスでクラスの基本的なインスタンスを宣言できます。 インスタンスの既定値をオーバーライドすることもできます。 詳細については、「 インスタンス プロパティ値の設定」を参照してください。

次の手順では、MOF コードを使用してクラスの基本的なインスタンスを宣言する方法について説明します。

MOF コードを使用してクラスの基本インスタンスを宣言するには

  1. キーワード のインスタンスの 後に、クラス名、中かっこ、セミコロンを使用します。

    次のコード例は、クラスのインスタンスを宣言する方法を示しています。

    instance of ClassName
    {
    };
    
  2. 完了したら、MOF コンパイラを使用して、MOF コードを WMI リポジトリに挿入します。

    詳細については、「 MOF ファイルのコンパイル」を参照してください。

クラスのインスタンスには、クラスのすべてのプロパティが含まれます。 クラスが派生クラスの場合、インスタンスには階層内の上位のすべてのクラスに属するプロパティが含まれます。 インスタンスが作成される各クラスには、1 つ以上のキー プロパティがあります。 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 ビット符号なし整数の 3 つのプロパティを定義しています。 インスタンスは、これらの各プロパティのデータ値を提供します。