Share via


WMI エイリアスの作成

WMI の "エイリアス" は、マネージド オブジェクト フォーマット (MOF) ファイル内の他の場所にあるクラスまたはクラス インスタンスのシンボリック参照です。 MOF コンパイラは、エイリアスを使用してクラスとインスタンス間の参照を確立します。 コンパイラは、参照先のクラスにエイリアスを解決するため、コンパイルされたコードではエイリアス名を使用できません。 その結果、クライアント アプリケーションではエイリアスを使用してクラスを参照できません。

注意

WMI では前方参照がサポートされていますが、循環エイリアスはサポートされていません。

 

エイリアスには、エイリアスを宣言する MOF ファイル内でのみスコープがあります。 そのため、通常、長いオブジェクト パスへのショートカットとしてエイリアスを使用します。

エイリアスを定義するには

  1. "as $aliasname" という語句をインスタンスまたはクラス宣言に追加します。
  2. エイリアス名は、インスタンス名とクラス名と同じ規則に従います。ただし、エイリアス名はドル記号 ($) で始まる必要があります。 アンダースコアは、最初の文字の後にエイリアス名で表示できます。

次のコード例では、クラス定義でエイリアスを使用する方法について説明しています。

class MyClass as $MyClassAlias
{
};
instance of MyClass as $MyInstanceAlias
{
};

次のコード例では、別名をオブジェクト パスへのシンボリック参照として使用する方法について説明しています。 これらの例では、ディスクを記述する 2 つのクラスを宣言しています。ドライブ文字を示す Disk クラスと、ディスク パスを示す DiskRef クラスです。 エイリアスは、Disk クラス インスタンスに対して定義されます。 このエイリアスは、DiskRef インスタンスの PathToDisk プロパティの値として使用されます。

class Disk {
    [key]  string    DriveLetter;
};

class DiskRef 
{
    [key]  string    MyKey;
    Disk   ref       PathToDisk;
};

instance of Disk as $DiskAlias 
{
    DriveLetter = "c";
};

instance of DiskRef
{
    MyKey      =  "hello";
    PathToDisk = $DiskAlias;
};

クラスの作成