Регистрация поставщика системного реестра
Поставщик системного реестра регистрируется в процессе установки WMI в Windows. Если вы используете другую платформу и хотите использовать поставщик системного реестра, сначала необходимо зарегистрировать поставщик самостоятельно, выполнив описанные ниже действия.
В следующей процедуре описывается регистрация поставщика системного реестра.
Регистрация поставщика системного реестра
Зарегистрируйте поставщика в качестве COM-сервера.
При необходимости может потребоваться создать записи реестра. Этот процесс применяется ко всем COM-серверам и не связан с WMI. Дополнительные сведения см. в документации по COM в пакете sdk для Microsoft Windows.
Создайте экземпляр класса __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}"; };
Создайте один или несколько экземпляров классов, производных от класса __ProviderRegistration , чтобы описать логическую реализацию поставщика системного реестра.
В зависимости от цели, для которой регистрируется поставщик системного реестра, можно создать один или несколько из следующих классов.
__InstanceProviderRegistration
__PropertyProviderRegistration
В следующем примере кода 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; };
Скомпилируйте MOF-файл с помощью компилятора MOF или интерфейса IMofCompiler .
Файл RegEvent.mof, предоставленный в разделе WMI пакета Windows SDK, содержит экземпляры __Win32Provider и __EventProviderRegistration , необходимые для регистрации поставщика системного реестра в качестве поставщика событий. Дополнительные сведения о регистрации поставщика см. в разделах Регистрация поставщика и Получение события WMI.