Udostępnij przez


Rejestrowanie dostawcy rejestru systemowego

Dostawca rejestru systemu jest zarejestrowany w ramach procesu instalacji usługi WMI w systemie Windows. Jeśli używasz innej platformy i chcesz użyć dostawcy rejestru systemowego, musisz najpierw zarejestrować dostawcę samodzielnie, wykonując kroki opisane poniżej.

Poniższa procedura opisuje sposób rejestrowania dostawcy rejestru systemowego.

Aby zarejestrować dostawcę rejestru systemowego

  1. Zarejestruj dostawcę jako serwer COM.

    W razie potrzeby może być konieczne utworzenie wpisów rejestru. Ten proces dotyczy wszystkich serwerów COM i nie ma związku z usługą WMI. Aby uzyskać więcej informacji, zobacz dokumentację COM w zestawie Microsoft Windows Software Development Kit (SDK).

  2. Utwórz wystąpienie klasy __Win32Provider, aby opisać implementację dostawcy rejestru systemowego.

    Wystąpienie __Win32Provider opisuje nazwę dostawcy i jego identyfikator klasy (CLSID).

    W poniższym przykładzie opisano sposób rejestrowania __Win32Provider jako właściwości wystąpienia, zdarzenia lub dostawcy metody.

    // 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. Utwórz co najmniej jedno wystąpienie klas pochodnych z klasy __ProviderRegistration, aby opisać logiczną implementację dostawcy rejestru systemowego.

    W zależności od celu rejestrowania dostawcy rejestru systemowego można utworzyć co najmniej jedną z następujących klas.

    __InstanceProviderRegistration

    __PropertyProviderRegistration

    __RejestracjaDostawcyZdarzeń

    __MethodProviderRegistration

    W poniższym przykładzie kodu MOF opisano sposób rejestrowania dostawcy rejestru systemu jako wystąpienia, właściwości, zdarzenia lub dostawcy metody.

    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. Skompiluj plik MOF przy użyciu kompilatora MOF lub interfejsu IMofCompiler.

Plik RegEvent.mof podany w sekcji WMI zestawu Windows SDK zawiera wystąpienia __Win32Provider i __EventProviderRegistration niezbędne do zarejestrowania dostawcy rejestru systemu jako dostawcy zdarzeń. Aby uzyskać więcej informacji na temat rejestrowania dostawcy, zobacz Rejestrowanie dostawcy i Odbieranie zdarzenia WMI.