Compartir a través de


Uso del proveedor del Registro del sistema como proveedor de propiedades

Puede usar el proveedor del Registro del sistema como una instancia o un proveedor de propiedades.

Si decide acceder a las interfaces del proveedor de propiedades, debe marcar las clases WMI para indicar su intención.

Para usar el proveedor del registro del sistema como proveedor de propiedades

  • Defina la clase WMI con los calificadores estándar DynProps, Provider y PropertyContext.

    El calificador DynProps identifica una clase como que tiene propiedades mantenidas por el proveedor de propiedades identificado por el calificador Provider. El calificador PropertyContext especifica el nombre del valor del Registro que la propiedad almacenará. El formato del calificador PropertyContext es el mismo que el formato del calificador ClassContext con valores valuename y expression adicionales.

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

    Tanto valuename como expression son opcionales. valuename solo se usa si el valor del Registro tiene un nombre. expression también es opcional y se usa para los datos del descriptor de recursos. Para obtener más información, consulte Descripción de un recurso para el Registro.

    El ejemplo de código siguiente muestra cómo la clase usa el proveedor del Registro de sistema como proveedor de propiedades para mantener las propiedades que no son clave.

    [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;
    };