다음을 통해 공유


시스템 레지스트리 공급자 등록

시스템 레지스트리 공급자는 Windows에서 WMI 설치 프로세스의 일부로 등록됩니다. 다른 플랫폼을 사용 중이고 시스템 레지스트리 공급자를 사용하려는 경우 먼저 아래에 설명된 단계에 따라 공급자를 직접 등록해야 합니다.

다음 절차에서는 시스템 레지스트리 공급자를 등록하는 방법을 설명합니다.

시스템 레지스트리 공급자를 등록하려면

  1. 공급자를 COM 서버로 등록합니다.

    필요한 경우 레지스트리 항목을 만들어야 할 수 있습니다. 이 프로세스는 모든 COM 서버에 적용되며 WMI와 관련이 없습니다. 자세한 내용은 Microsoft Windows SDK(소프트웨어 개발 키트)의 COM 설명서를 참조하세요.

  2. 시스템 레지스트리 공급자의 구현을 설명하는 __Win32Provider 클래스의 인스턴스를 만듭니다.

    __Win32Provider 인스턴스는 공급자의 이름과 클래스 식별자(CLSID)를 설명합니다.

    다음 예제에서는 인스턴스 속성, 이벤트 또는 메서드 공급자로 __Win32Provider를 등록하는 방법을 설명합니다.

    // Instance provider
    instance of __Win32Provider as $InstProv
    {
        Name    = "RegProv" ;
        ClsId   = "{fe9af5c0-d3b6-11ce-a5b6-00aa00680c3f}" ;
    };    
    // Property provider 
    instance of __Win32Provider as $PropProv 
    {
        Name = "RegPropProv"; 
        Clsid = "{72967901-68EC-11d0-B729-00AA0062CBB7}"; 
    }; 
    // Event provider
    instance of __Win32Provider as $RegEvent
    {
        Name = "RegistryEventProvider";
        Clsid = "{fa77a74e-e109-11d0-ad6e-00c04fd8fdff}";
    };
    instance of __Win32Provider as $RegMethod
    {
        Name = "RegistryMethodProvider";
        Clsid = "{44DE513E-60C2-11d3-AF33-00C04F79FEB1}";
    };
    
  3. __ProviderRegistration 클래스에서 파생된 하나 이상의 클래스 인스턴스를 만들어 시스템 레지스트리 공급자의 논리적 구현을 설명합니다.

    시스템 레지스트리 공급자를 등록하는 목적에 따라 다음 클래스 중 하나 이상을 만들 수 있습니다.

    __InstanceProviderRegistration

    __PropertyProviderRegistration

    __EventProviderRegistration

    __MethodProviderRegistration

    다음 MOF 코드 예제에서는 시스템 레지스트리 공급자를 인스턴스, 속성, 이벤트 또는 메서드 공급자로 등록하는 방법을 설명합니다.

    instance of __InstanceProviderRegistration
    {
        Provider = $InstProv;
        SupportsPut = TRUE;
        SupportsGet = TRUE;
        SupportsDelete = FALSE;
        SupportsEnumeration = TRUE;
    };
    instance of __PropertyProviderRegistration
    {
        Provider = $PropProv;
        SupportsPut = TRUE;
        SupportsGet = TRUE;
    }; 
    instance of __EventProviderRegistration
    {
        Provider = $RegEvent;
        EventQueryList = {
                "select * from RegistryKeyChangeEvent",
                "select * from RegistryValueChangeEvent",
                "select * from RegistryTreeChangeEvent"};
    };
    // Method provider
    instance of __MethodProviderRegistration
    {
        Provider = $RegMethod;
    };
    
  4. MOF 컴파일러 또는 IMofCompiler 인터페이스를 사용하여 MOF 파일을 컴파일합니다.

Windows SDK의 WMI 섹션에 제공된 RegEvent.mof 파일에는 시스템 레지스트리 공급자를 이벤트 공급자로 등록하는 데 필요한 __Win32Provider__EventProviderRegistration 인스턴스가 포함되어 있습니다. 공급자 등록에 대한 자세한 내용은 공급자 등록WMI 이벤트 수신을 참조하세요.