Registrazione del provider del Registro di sistema

Il provider del Registro di sistema viene registrato come parte del processo di installazione WMI in Windows. Se si usa un'altra piattaforma e si vuole usare il provider del Registro di sistema, è prima necessario registrare il provider stesso seguendo la procedura descritta di seguito.

La procedura seguente descrive come registrare il provider del Registro di sistema.

Per registrare il provider del Registro di sistema

  1. Registrare il provider come server COM.

    Se necessario, potrebbe essere necessario creare voci del Registro di sistema. Questo processo si applica a tutti i server COM e non è correlato a WMI. Per altre informazioni, vedere la documentazione COM in Microsoft Windows Software Development Kit (SDK).

  2. Creare un'istanza della classe __Win32Provider per descrivere l'implementazione del provider del Registro di sistema.

    L'istanza di __Win32Provider descrive il nome del provider e il relativo identificatore di classe (CLSID).

    Nell'esempio seguente viene descritto come registrare __Win32Provider come proprietà di istanza, evento o provider di metodi.

    // 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. Creare una o più istanze di classi derivate dalla classe __ProviderRegistration per descrivere l'implementazione logica del provider del Registro di sistema.

    A seconda dello scopo per cui si sta registrando il provider del Registro di sistema, è possibile creare una o più delle classi seguenti.

    __InstanceProviderRegistration

    __PropertyProviderRegistration

    __EventProviderRegistration

    __MethodProviderRegistration

    Nell'esempio di codice MOF seguente viene descritto come registrare il provider del Registro di sistema come istanza, proprietà, evento o provider di metodi.

    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. Compilare il file MOF usando il compilatore MOF o l'interfaccia IMofCompiler .

Il file RegEvent.mof fornito nella sezione WMI di Windows SDK contiene le istanze di __Win32Provider e __EventProviderRegistration necessarie per registrare il provider del Registro di sistema come provider di eventi. Per altre informazioni sulla registrazione di un provider, vedere Registrazione di un provider e ricezione di un evento WMI.