Usare il provider del Registro di sistema come provider di proprietà

È possibile usare il provider del Registro di sistema come istanza o come provider di proprietà.

Se si sceglie di accedere alle interfacce del provider di proprietà, è necessario contrassegnare le classi WMI per indicare la vostra intenzione.

Per usare il provider del Registro di sistema come provider di proprietà

  • Definire la classe WMI con i qualificatori standard DynProps, Providere PropertyContext.

    Il qualificatore DynProps identifica una classe come avente proprietà gestite dal provider di proprietà identificato dal qualificatore Provider. Il qualificatore PropertyContext specifica il nome del valore del Registro di sistema che deve essere archiviato dalla proprietà. Il formato del qualificatore di PropertyContext è lo stesso del formato del qualificatore ClassContext con valori aggiuntivi valuename e expression.

    MACHINE_NAME | Subtree\\KeyPath [|valuename [expression]]
    

    Sia il nomevalore che l'espressione sono facoltativi. L'impostazione nome del valore viene utilizzata solo se il valore del Registro di sistema possiede un nome. L'espressione è facoltativa e viene usata anche per i dati del descrittore di risorse. Per altre informazioni, vedere Descrizione di una risorsa per il Registro di sistema.

    Nell'esempio di codice seguente viene illustrato come la classe usa il provider del Registro di sistema come provider di proprietà per mantenere le relative proprietà non chiave.

    [DYNPROPS]
    class PropReg {
    
        [KEY]  STRING  MyKey;
        STRING Logging;
        STRING Events;
        uint32 Resource1;
    };
    
    [DYNPROPS]
    instance of PropReg
    {
      MyKey = "a";
    
      [PropertyContext("local|hkey_local_Machine\\software\\microsoft\\
       wbem\\cimom|Logging"), Dynamic, Provider("RegPropProv")]  Logging;
    
      [PropertyContext("local|hkey_local_Machine\\software\\microsoft\\
       wbem\\cimom|EnableEvents"), Dynamic, Provider("RegPropProv")]
       Events;
    
      [PropertyContext("local|hkey_local_Machine\\hardware\\
       ResourceMap\\Hardware Abstraction Layer\\PC Compatible Eisa/isa 
       hal|.raw(\"Internal\")(0)(0)(\"interrupt.vector\")"), Dynamic, 
       Provider("RegPropProv")]  Resource1;
    };