次の方法で共有


InstrumentationManager クラス

定義

分離されたプロバイダーに使用される有効期間とモデルを管理するメソッドを提供します。

注: WMI .NET ライブラリは最終的な状態と見なされ、これらのライブラリに影響を与えるセキュリティ関連以外の問題については、それ以上の開発、拡張機能、更新プログラムは使用できません。

public ref class InstrumentationManager abstract sealed
public static class InstrumentationManager
type InstrumentationManager = class
Public Class InstrumentationManager
継承
InstrumentationManager

次の例では、発行/取り消しモデルを使用する方法を示します。 ルーター クラスの 2 つのインスタンスが作成され、発行されます。 これらは後で取り消されます。

public class Sample_InstanceProvider
{
    public int Main (string[] args)
    {
        var r_one = new Router();
        r_one.Name = "one";
        InstrumentationManager.Publish(r_one);
        var r_two = new Router ();
        r_two.Name = "two";
        InstrumentationManager.Publish(r_two);
        // ....
        InstrumentationManager.Revoke(r_one);
        InstrumentationManager.Revoke(r_two);
        return 0;
    }
}

次の例では、登録のコールバック メソッドを使用して RouterNew クラスを公開します。

public int MainNew(string[] args)
{
    InstrumentationManager.RegisterType(typeof(RouterNew));
    // ....
    InstrumentationManager.UnRegisterType(typeof(RouterNew));
    return 0;
}

注釈

分離されたプロバイダーは、アプリケーションによってホストされます。 アプリケーションは、WMI クラスのインスタンスを公開/取り消しまたはコールバック メソッドの 2 つのメソッドで使用できます。 コールバック メソッドは、 RegisterType メソッドと UnregisterType メソッドを使用します。

発行/取り消しモデルでは、WMI インフラストラクチャは、コールバック メソッドで自分で記述する必要がある多くのメソッドの既定の動作を提供します。 これには、列挙メソッドとバインド メソッドが含まれます。 このモデルでは、アプリケーションによってインスタンスが作成され、発行されます。 アプリケーションは、クラスの主要なプロパティを確実に尊重する役割を担います。 アプリケーションは、インスタンスの削除も担当します。

コールバック モデルでは、WMI インフラストラクチャは、アプリケーションに、プロバイダーの機能を実装するために必要な列挙、バインディング、およびその他のメソッドを処理するメソッドがあることを想定しています。 この機能のためにアプリケーションを呼び出し、アプリケーションが存在しないか、正しく実装されていない場合は失敗します。 アプリケーションは、 RegisterType を呼び出して WMI クラスの型をインフラストラクチャに登録し、 UnregisterTypeを呼び出して WMI クラスを公開しなくなったことを示します。

メソッド

名前 説明
Publish(Object)

WMI インフラストラクチャ内でプロバイダーのインスタンスを使用できるようにします。

RegisterAssembly(Assembly)

アセンブリを WMI インフラストラクチャに登録します。

RegisterType(Type)

WMI インフラストラクチャにクラスを登録します。

Revoke(Object)

現在使用可能なプロバイダーのインスタンスを取得し、WMI インフラストラクチャ内で使用できないようにします。

UnregisterAssembly(Assembly)

WMI インフラストラクチャに現在登録されているアセンブリの登録を解除します。

UnregisterType(Type)

WMI インフラストラクチャに登録されているクラスの登録を解除します。

適用対象