Compartir a través de


Adición de una propiedad de WMI

Las propiedades de las clases WMI describen datos sobre un objeto administrado. Por ejemplo, Handle, ProcessId y PageFaults se definen como propiedades de la clase Win32_Process y describen aspectos de un proceso de sistema operativo. Para más información, vea Escritura de un proveedor de propiedades.

Definición de una propiedad en MOF

Una propiedad de WMI representa un aspecto o estado en el objeto. En lugar de crear métodos que simplemente obtengan y establezcan un valor, puede crear una propiedad. Por ejemplo, la propiedad NetEnabled de Win32_NetworkAdapter muestra si el estado del adaptador está habilitado o deshabilitado. Pero los métodos Enable y Disable en realidad realizan la acción de cambiar el estado del adaptador.

Una propiedad debe tener un tipo de datos. El tipo de datos de la propiedad Handle de Win32_Process es string y el tipo de datos de PageFaults es uint32. Si una propiedad solo puede tener dos estados, su tipo de datos normalmente se establece en booleano.

La propiedad también puede ser una matriz. Por ejemplo, la propiedad de Id. de seguridad (SID) de Win32_Trustee es una matriz de bytes (uint8) que contiene el SID. Las propiedades pueden contener objetos incrustados que son referencias a una o varias instancias de otra clase WMI. Las propiedades de lista de control de acceso discrecional (DACL) y lista de control de acceso del sistema (SACL) de Win32_SecurityDescriptor, por ejemplo, son matrices de objetos Win32_ACE que describen los grupos y cuentas que tienen acceso. La propiedad Group de Win32_SecurityDescriptor contiene una referencia a una única instancia de Win32_Trustee. Para más información, vea Insertar objetos en una clase.

Una propiedad puede tener varios calificadores. Estos calificadores pueden ser calificadores del Modelo de información común (CIM) o de WMI, o bien pueden ser específicos de determinados tipos de clases, por ejemplo, los calificadores de clase de contador de rendimiento. Los calificadores especifican algún aspecto de la propiedad, como si es de solo lectura o si no se puede cambiar sin un privilegio específico. Una aplicación que intenta escribir en la propiedad Win32_SecurityDescriptorDACL, por ejemplo, necesita los privilegios SeSecurityPrivilege y SeRestorePrivilege. Para más información, vea Adición de una calificador.

Por último, una propiedad debe tener un nombre. Puede asignar a una propiedad un nombre de cualquier elemento dentro de los límites del procedimiento de programación estándar. Pero hay dos excepciones principales. En primer lugar, no puede usar ninguna palabra clave de MOF, como "class", como nombre de una propiedad. En segundo lugar, tampoco puede usar ninguna palabra clave de WQL, como "group", como nombre de una propiedad. Para más información sobre las palabras clave de MOF y WQL, vea Tipos de datos de MOF y WQL (SQL para WMI).

Para el código de C++ y Managed Object Format (MOF), las propiedades de una clase se declaran al mismo tiempo que la clase.

Para definir una propiedad

  • Incluya el tipo de datos de propiedad, el nombre y un valor predeterminado opcional y un calificador entre las llaves de la descripción de la clase.

    class MyClass 
    {
        [key] string   strProp;
        sint32         dwProp1 = 21;
        uint32         dwProp2;
    };
    

    La clase MyClass del ejemplo anterior tiene tres propiedades: una cadena de caracteres, un entero de 32 bits con signo y un entero de 32 bits sin signo. A cada propiedad se le asigna un nombre que no distingue mayúsculas y minúsculas, y un tipo de datos de MOF.

    El calificador Key define la propiedad de cadena como la propiedad clave que identifica de forma única una instancia de la clase. Para más información sobre los calificadores, vea Adición de un calificador.

Crear una clase