Partager via


Ajout d’une propriété WMI

Les propriétés des classes WMI décrivent les données relatives à un objet managé. Par exemple, Handle, ProcessId et PageFaults sont définis en tant que propriétés de la classe Win32_Process et décrivent les aspects d’un processus de système d’exploitation. Pour plus d’informations, consultez Écriture d’un fournisseur de propriétés.

Définition d’une propriété dans MOF

Une propriété WMI représente un aspect ou un état dans l’objet. Au lieu de créer des méthodes qui obtiennent et définissent simplement une valeur, vous pouvez créer une propriété. Par exemple, la propriété NetEnabled de Win32_NetworkAdapter indique si l’état de l’adaptateur est activé ou désactivé. Toutefois, les méthodes Enable et Disable effectuent en fait l’action de modifier l’état de l’adaptateur.

Une propriété doit avoir un type de données. Le type de données de la propriété Win32_ProcessHandle est string et le type de données PageFaults est uint32. Si une propriété ne peut avoir que deux états, le type de données de la propriété est normalement défini sur boolean.

La propriété peut également être un tableau. Par exemple, la propriété d’identificateur de sécurité (SID) de Win32_Trustee est un tableau d’octets (uint8) qui contient le SID. Les propriétés peuvent contenir des objets incorporés qui sont des références à une ou plusieurs instances d’une autre classe WMI. Les propriétés Liste de contrôle d’accès discrétionnaire (DACL) et Liste de contrôle d’accès système (SACL) de Win32_SecurityDescriptor, par exemple, sont des tableaux d’objets Win32_ACE qui décrivent les groupes et les comptes qui ont accès. La propriété Group dans Win32_SecurityDescriptor contient une référence à une seule instance de Win32_Trustee. Pour plus d’informations, consultez Incorporation des objets dans une classe.

Une propriété peut avoir plusieurs qualificateurs. Ces qualificateurs peuvent être des qualificateursCommon Information Model (CIM) ou WMI, ou peuvent être spécifiques à certains types de classes, par exemple, les qualificateurs de classe Compteur de performances. Les qualificateurs spécifient certains aspects de la propriété, par exemple si elle est en lecture seule ou si elle ne peut pas être modifiée sans un privilège spécifique. Une application qui tente d’écrire dans la propriété DACLWin32_SecurityDescriptor, par exemple, nécessite les privilèges SeSecurityPrivilege et SeRestorePrivilege. Pour plus d’informations, consultez Ajout d’un qualificateur.

Enfin, une propriété doit avoir un nom. Vous pouvez nommer une propriété dans les limites de la pratique de programmation standard. Toutefois, il existe deux exceptions principales. Tout d’abord, vous ne pouvez pas utiliser de mot clé MOF, comme « class », comme nom de propriété. Deuxièmement, vous ne pouvez pas non plus utiliser de mots clés WQL, tels que « group », comme nom de propriété. Pour plus d’informations sur les mots clés MOF et WQL, consultez Types de données MOF et WQL (SQL pour WMI).

Pour le code C++ et le code format MOF, vous déclarez les propriétés d’une classe en même temps que vous déclarez la classe.

Pour définir une propriété

  • Incluez le type de données de la propriété, le nom, une valeur par défaut facultative, ainsi qu’un qualificateur entre les accolades de la description de la classe.

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

    La classe MyClass de l’exemple précédent définit trois propriétés : une chaîne de caractères, un entier signé 32 bits et un entier non signé 32 bits. Chaque propriété se voit attribuer un nom qui ne respecte pas la casse et un type de données MOF.

    Le qualificateur Key définit la propriété de la chaîne en tant que propriété de clé qui identifie de manière unique une instance de la classe. Pour plus d’informations, consultez Ajout d’un qualificateur.

Création d’une classe