BitMap- és BitValue-minősítők
A bitkép egy BitMap és BitValue minősítő tulajdonsághoz csatolt egész szám. A tulajdonságérték minden bitje indexként működik a BitValue listában szereplő értékek tömbjében. Mivel a tulajdonságértékben egyszerre több bit is "be van kapcsolva", egyetlen tulajdonságérték használatával több egyidejű értéket is jelölhet.
Az alábbi MOF-kódpéldában például a FileType tulajdonság BitMap és BitValues minősítőivel rendelkezik. Azt is megállapítja, hogy az alacsonyrendű bit (0. bit) az "Írásvédett" értéknek felel meg. A következő bit (1. bit) a "Rejtett" értéknek felel meg, és így tovább. (Nem minden bitnek kell jelentősnek lennie. Ebben a nyolc bites rendszerben a két nagyrendű bitnek, a 6-os és a 7-esnek nincs jelentősége.)
[BitMap("0","1","2","3","4","5"),
BitValues("Read Only",
"Hidden",
"System",
"Volume Label",
"Subdirectory",
"Archive")]
byte FileType;
Ha a FileType tulajdonság a 7 értéket jelenti (bit: 0000 0111), a fájl "Írásvédett", "Rendszer" és "Rejtett". Ha a FileType tulajdonság a 18 értéket jelenti (0x12, bit 0001 0010), az egy rejtett alkönyvtár.
A bitképeknek két különböző típusa van MOF-kóddal:
Egymást követő jelentős bitek az alacsony sorrendű bittől kezdve (0. bit)
A bitértékek tömbje anélkül határozható meg, hogy explicit módon meg kell adnia a jelentős biteket, ha a jelentős bitek az alacsony sorrendű bittel (0. bit) kezdődnek, és megszakítás nélkül felfelé haladnak a BitValue tömb összes elemén keresztül. Az alábbi MOF-kód példa ugyanazt a függvényt hajtja végre, mint az előző példában.
[BitValues("Read Only", "Hidden", "System", "Volume Label", "Subdirectory", "Archive")] byte FileType;
Jelentős bit, amelyet nem jelentős bit előz meg
Ha az alacsony sorrendű bit jelentéktelen, vagy a jelentős bitek sorrendje nem folyamatos, meg kell adnia a BitMap és BitValues minősítőket. Az alábbi MOF-kódpéldában egy olyan helyzet látható, amelyben az alacsony sorrendű bit nem jelentős, és a jelentős bitek sorozatában van eltérés.
[BitMap("1","4","5"), BitValues("Follow-up","Delivery receipt","Read receipt")] sint32 MailOptions;
Ebben az esetben az alacsonyrendű bit (0. bit) beállításának nincs jelentősége, és figyelmen kívül hagyja. Az 1. bit (0x2) beállítása azonban azt jelzi, hogy ez az e-mail nyomon követés céljából van megjelölve, a 4. bit (0x8) beállítás azt jelzi, hogy kézbesítési visszaigazolást kell küldeni a feladónak, amikor az e-mail megérkezett a címzett postaládájába, az 5. bit (0x10) beállítás pedig azt határozza meg, hogy az e-mail címzett általi megnyitásakor olvasási visszaigazolást kell küldeni a feladónak. Mindhárom fontos bit (0x1A) beállítása az e-mail mindhárom feltételét meghatározza.
Megjegyzések
Annak eldöntésekor, hogy a BitMap/BitValues vagy ValueMap/Értékek minősítőket használja-e, határozza meg, hogy a jelzett értékek bármelyike egyidejűleg is bekövetkezhet-e. Ha több egyidejű érték is létezhet, BitMap/BitValueskell használnia. Ha az összes érték kölcsönösen kizáró, akkor a Értéktérkép/Értékek minősítőket kell használnia.
Kapcsolódó témakörök