次の方法で共有


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

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

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

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

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

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

    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 つのプロパティを定義しています。 インスタンスは、これらの各プロパティのデータ値を提供します。