Регистрация поставщика системного реестра

Поставщик системного реестра регистрируется в процессе установки WMI в Windows. Если вы используете другую платформу и хотите использовать поставщик системного реестра, сначала необходимо зарегистрировать поставщик самостоятельно, выполнив описанные ниже действия.

В следующей процедуре описывается регистрация поставщика системного реестра.

Регистрация поставщика системного реестра

  1. Зарегистрируйте поставщика в качестве COM-сервера.

    При необходимости может потребоваться создать записи реестра. Этот процесс применяется ко всем COM-серверам и не связан с WMI. Дополнительные сведения см. в документации по COM в пакете sdk для Microsoft Windows.

  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-файл с помощью компилятора MOF или интерфейса IMofCompiler .

Файл RegEvent.mof, предоставленный в разделе WMI пакета Windows SDK, содержит экземпляры __Win32Provider и __EventProviderRegistration , необходимые для регистрации поставщика системного реестра в качестве поставщика событий. Дополнительные сведения о регистрации поставщика см. в разделах Регистрация поставщика и Получение события WMI.