고성능 공급자 등록

다른 인스턴스 공급자와 마찬가지로 __Win32Provider__InstanceProviderRegistration 클래스의 인스턴스를 만들어 Microsoft WMI(Windows Management Instrumentation)에 고성능 공급자를 등록합니다. __Win32Provider 인스턴스는 공급자의 물리적 구현을 정의하고 __InstanceProviderRegistration 인스턴스는 공급자의 기능 집합을 정의합니다. 자세한 내용은 공급자 등록을 참조하세요.

다음 절차에서는 고성능 인스턴스 공급자를 등록하는 방법을 설명합니다.

고성능 인스턴스 공급자를 등록하려면 다음 절차를 따릅니다.

  1. 공급자를 설명하는 __Win32Provider 클래스의 인스턴스를 만듭니다.

    ClientLoadableCLSID 속성을 __Win32Provider 인스턴스에 추가해야 합니다. 공급자와 클라이언트가 모두 동일한 컴퓨터에 있는 경우 WMI는 ClientLoadableCLSID를 클래스 식별자로 사용하여 공급자 in-process를 클라이언트에 로드합니다. 공급자와 클라이언트가 서로 다른 컴퓨터에 있는 경우 WMI는 공급자 in-process를 WMI에 로드합니다. 또한 WMI는 ClientLoadableCLSID를 사용하여 새로 고침 작업을 지원합니다.

  2. 공급자의 기능 집합을 설명하는 __InstanceProviderRegistration 클래스의 인스턴스를 만듭니다.

    DynamicProvider 한정자를 모두 사용하여 클래스에 태그를 지정해야 합니다. Dynamic 한정자는 WMI가 공급자를 사용하여 클래스 인스턴스를 검색해야 함을 나타냅니다. Provider 한정자는 WMI에서 사용해야 하는 공급자의 이름을 지정합니다.

    또한 고성능 공급자는 작업, 열거 작업 또는 둘 다에 대한 지원을 명시해야 합니다. 구현에 SupportsGetSupportsEnumeration 속성을 사용해야 합니다.

다음 코드 예제에서는 고성능 공급자에 대한 __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[];
};

인스턴스 공급자를 고성능 공급자로 만들기