次の方法で共有


高パフォーマンス プロバイダーの登録

他のインスタンス プロバイダーと同様に、__Win32Provider__InstanceProviderRegistration クラスのインスタンスを作成して高パフォーマンス プロバイダーを Microsoft Windows Management Instrumentation (WMI) に登録します。 __Win32Provider インスタンスはプロバイダーの物理実装を定義し、__InstanceProviderRegistration インスタンスはプロバイダーの機能セットを定義します。 詳細については、「プロバイダーの登録」を参照してください。

次の手順では、高パフォーマンス インスタンス プロバイダーを登録する方法について説明します。

高パフォーマンス インスタンス プロバイダーを登録するには

  1. プロバイダーを記述する __Win32Provider クラスのインスタンスを作成します。

    ClientLoadableCLSID プロパティを __Win32Provider インスタンスに追加してください。 プロバイダーとクライアントの両方が同じコンピューター上にある場合、WMI は ClientLoadableCLSID をクラス識別子として使用して、プロバイダーのインプロセスをクライアントに読み込みます。 プロバイダーとクライアントが異なるコンピューターにあるとき、WMI はプロバイダーのインプロセスを WMI に読み込みます。 WMI は、更新操作をサポートするために ClientLoadableCLSID も使用します。

  2. プロバイダーの機能セットを記述する __InstanceProviderRegistration クラスのインスタンスを作成します。

    忘れずに Dynamic 修飾子と Provider 修飾子の両方でクラスにタグを付けます。 Dynamic 修飾子は、WMI がプロバイダーを使用してクラス インスタンスを取得する必要があることを通知します。 Provider 修飾子は、WMI で使用するプロバイダーの名前を指定します。

    高パフォーマンス プロバイダーでは、操作、列挙操作、またはその両方のサポートも指定する必要があります。 実装で SupportsGet プロパティと SupportsEnumeration プロパティを使用していることを確認します。

次のコード例では、高パフォーマンス プロバイダーの __Win32Provider__InstanceProviderRegistration クラスを実装する方法を示します。

instance of __Win32Provider as $P
{
    Name="TestProv";
    CLSID="{A41602A4-C038-11d1-AEB6-00C04FB68820}";
    ClientLoadableCLSID="{423B32C9-B033-4242-EFB6-55C044242821}";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsGet = TRUE;
    SupportsEnumeration = TRUE;
};

[ dynamic, 
  provider("TestProv")
]

class TestClass
{
    [key] string KeyVal;
    
    string StrVal1;

    sint32 IntVal1;
    sint32 IntVal2;

    sint32 IntArray2[];
};

インスタンス プロバイダーを High-Performance プロバイダーに変換する