WMI-tulajdonság hozzáadása
A WMI-osztályok tulajdonságai egy felügyelt objektum adatait írják le. Például Handle, ProcessIdés PageFaults a Win32_Process osztály tulajdonságaiként vannak definiálva, és egy operációsrendszer-folyamat aspektusait írják le. További információért lásd: Tulajdonságszolgáltató írása.
Tulajdonság meghatározása az MOF-ban
A WMI-tulajdonságok az objektum egy aspektusát vagy állapotát jelölik. Ahelyett, hogy olyan metódusokat hoz létre, amelyek egyszerűen lekérnek és beállítanak egy értéket, létrehozhat egy tulajdonságot. A Win32_NetworkAdapterNetEnabled tulajdonsága például megjeleníti, hogy az adapter állapota engedélyezve vagy letiltva van-e. Azonban a Enable és a Disable metódusok valójában végrehajtják az adapter állapotának megváltoztatását.
Egy tulajdonságnak adattípussal kell rendelkeznie. A Win32_Process tulajdonság Handle adattípusa sztring, és a PageFaults adattípusa pedig uint32. Ha egy tulajdonságnak csak két állapota lehet, a tulajdonság adattípusa általában logikai.
A tulajdonság lehet tömb is. A biztonsági azonosító (SID) Win32_Trustee tulajdonsága például egy bájttömb (uint8), amely tartalmazza a SID-t. A tulajdonságok olyan beágyazott objektumokat tartalmazhatnak, amelyek egy másik WMI-osztály egy vagy több példányára hivatkoznak. A diszkrecionális hozzáférés-vezérlési lista (DACL) és a rendszerhozzáférés-vezérlési lista (SACL)Win32_SecurityDescriptortulajdonságai, például Win32_ACE objektumok tömbjei, amelyek a hozzáféréssel rendelkező csoportokat és fiókokat írják le. A Win32_SecurityDescriptorGroup tulajdonsága egyetlen Win32_Trustee-példányra mutató hivatkozást tartalmaz. További információ: Objektumok beágyazása egy osztályba.
Egy tulajdonság több minősítővel is rendelkezhet. Ezek a minősítők lehetnek Common Information Model (CIM) vagy WMI-minősítők, vagy bizonyos típusú osztályokra, például a teljesítményszámlálóra osztály minősítőkre. A minősítők a tulajdonság bizonyos aspektusait határozzák meg, például azt, hogy írásvédett-e, vagy ha nem módosítható egy adott jogosultság nélkül. Az Win32_SecurityDescriptorDACL tulajdonságba írni próbáló alkalmazásokhoz például a SeSecurityPrivilege és SeRestorePrivilegejogosultságok szükségesek. További információ: Minősítőhozzáadása.
Végül egy tulajdonságnak névvel kell rendelkeznie. Bármilyen tulajdonságot nevezhet el a szokásos programozási gyakorlat keretei között. Azonban két fő kivétel van. Először is nem használhat MOF-kulcsszót, például "osztály" tulajdonságnévként. Másodszor, nem használhat WQL-kulcsszavakat, például "csoport" tulajdonságnévként sem. Az MOF- és WQL-kulcsszavakról további információt MOF-adattípusok és WQL (WMI-hez készült SQL)című cikkben talál.
A C++ és a Felügyelt objektumformátum (MOF) kód esetében az osztály tulajdonságainak deklarálása az osztály deklarálásával egyidejűleg történik.
Tulajdonság definiálása
Adja meg a tulajdonság adattípusát, nevét, valamint egy opcionális alapértelmezett értéket és minősítőt az osztály leírásának kapcsos zárójelei között.
class MyClass { [key] string strProp; sint32 dwProp1 = 21; uint32 dwProp2; };
Az előző példában szereplő MyClass osztály három tulajdonsággal rendelkezik: egy karaktersztringgel, egy 32 bites aláírt egész számmal és egy 32 bites aláíratlan egész számmal. Minden tulajdonsághoz kis- és nagybetűket megkülönböztető név és MOF-adattípus tartozik.
A Kulcs minősítő a sztringtulajdonságot az osztály egy példányát egyedileg azonosító kulcstulajdonságként határozza meg. További információ a minősítőkről: Minősítőhozzáadása.
Kapcsolódó témakörök
-
Osztály létrehozása