Condividi tramite


Aggiunta di una proprietà WMI

Le proprietà nelle classi WMI descrivono i dati relativi a un oggetto gestito. Ad esempio, Handle, ProcessId e PageFaults sono definiti come proprietà della classe Win32_Process e descrivono gli aspetti di un processo del sistema operativo. Per altre informazioni, vedere Scrittura di un provider di proprietà.

Definizione di una proprietà in MOF

Una proprietà WMI rappresenta un aspetto o uno stato nell'oggetto. Anziché creare metodi che semplicemente ottengono e impostano un valore, è possibile creare una proprietà. Ad esempio, la proprietà NetEnabled di Win32_NetworkAdapter visualizza se lo stato della scheda è abilitato o disabilitato. Tuttavia, i metodi Abilita e Disabilita eseguono effettivamente l'azione di modifica dello stato dell'adattatore.

Una proprietà deve avere un tipo di dati. Il tipo di dati della proprietà Win32_ProcessHandle è stringa e il tipo di dati PageFaults è uint32. Se una proprietà può avere solo due stati, il tipo di dati della proprietà è normalmente impostato su boolean.

La proprietà può anche essere una matrice. Ad esempio, la proprietà SID (Security Identifier) di Win32_Trustee è una matrice di byte (uint8) che contiene il SID. Le proprietà possono contenere oggetti incorporati che fanno riferimento a una o più istanze di un'altra classe WMI. L'elenco di controllo di accesso discrezionale (DACL) e le proprietà dell'elenco di controllo degli accessi di sistema (SACL) di Win32_SecurityDescriptor, ad esempio, sono matrici di oggettiWin32_ACE che descrivono i gruppi e gli account che hanno accesso. La proprietà Group in Win32_SecurityDescriptor contiene un riferimento a una singola istanza di Win32_Trustee. Per altre informazioni, vedere Incorporamento di oggetti in una classe.

Una proprietà può avere diversi qualificatori. Questi qualificatori possono essere qualificatoriCOMMON Information Model (CIM) o WMI o possono essere specifici di determinati tipi di classi, ad esempio i qualificatori della classe Contatore delle prestazioni . I qualificatori specificano alcuni aspetti della proprietà, ad esempio se è di sola lettura o se non può essere modificato senza privilegi specifici. Un'applicazione che tenta di scrivere nella proprietà DACLWin32_SecurityDescriptor, ad esempio, richiede i privilegi SeSecurityPrivilege e SeRestorePrivilege. Per altre informazioni, vedere Aggiunta di un qualificatore.

Infine, una proprietà deve avere un nome. È possibile assegnare un nome a una proprietà all'interno dei limiti della pratica di programmazione standard. Esistono tuttavia due eccezioni principali. Prima di tutto, non è possibile usare alcuna parola chiave MOF, ad esempio "classe", come nome della proprietà. In secondo luogo, non è possibile usare parole chiave WQL, ad esempio "gruppo", come un nome di proprietà. Per altre informazioni sulle parole chiave MOF e WQL, vedere Tipi di dati MOF e WQL (SQL per WMI).

Per codice MOF (Managed Object Format) di C++ e Managed Object Format, si dichiarano le proprietà di una classe contemporaneamente che si dichiara la classe.

Per definire una proprietà

  • Includere il tipo di dati della proprietà, il nome e un valore predefinito facoltativo e qualificatore tra le parentesi graffe della descrizione della classe.

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

    La classe MyClass nell'esempio precedente include tre proprietà: una stringa di caratteri, un intero con segno a 32 bit e un intero senza segno a 32 bit. Ogni proprietà viene assegnata a un nome senza distinzione tra maiuscole e minuscole e a un tipo di dati MOF.

    Il qualificatore Chiave definisce la proprietà stringa come proprietà chiave che identifica in modo univoco un'istanza della classe. Per altre informazioni sui qualificatori, vedere Aggiunta di un qualificatore.

Creazione di una classe