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

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

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

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

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

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

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

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

クラスのインスタンスには、 クラスのすべてのプロパティが含まれます。 クラスが派生クラスの場合、インスタンスには、階層内の上位のすべてのクラスに属するプロパティが含まれます。 インスタンスが作成される各クラスには、1 つ以上のキー プロパティがあります。 256 を超えるキーを持つインスタンスを作成することはできません。

インスタンス プロパティ値の設定

WMI はプロパティを強く型指定します。プロパティの型を変更することはできません。 ただし、 インスタンスでプロパティ値を設定することもできます。 クラスがプロパティに既定値を割り当てると、WMI によって各インスタンスに既定値が割り当てされます。 この値は、インスタンス宣言でオーバーライドできます。

次の手順では、MOF コードを使用してプロパティ値を設定する方法、または既定値を上書きする方法について説明します。

MOF コードを使用してプロパティ値を設定するか、既定値を上書きするには

  1. インスタンス宣言の中かっこの間に代入ステートメントを配置します。

    プロパティ値を設定する方法を次のコード例に示します。

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

    WMI では、インスタンスの作成時にプロパティを設定する必要があります。 例外は、キー修飾子でマークされた プロパティです 。 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 つのプロパティを定義しています。 インスタンスは、これらの各プロパティのデータ値を提供します。