Kvalifikátory BitMap a BitValue
Rastrový obrázek je celé číslo propojené s vlastností s BitMap a BitValue kvalifikátory. Každý bit hodnoty vlastnosti funguje jako index do pole hodnot v seznamu BitValue. Vzhledem k tomu, že více bitů v hodnotě vlastnosti může být současně zapnuto, je možné použít jednu hodnotu vlastnosti k označení více souběžných hodnot.
Následující příklad kódu MOF například vytvoří vlastnost FileType, která má BitMap a BitValues kvalifikátory. Dále stanoví, že bit s nízkým pořadím (bit 0) odpovídá hodnotě "Jen pro čtení". Další bit (bit 1) odpovídá "Skryté" a tak dále. (Ne všechny bity musí být významné. V tomto osmibitovém systému nemají dva bity s vysokým pořadím, 6 a 7 význam.)
[BitMap("0","1","2","3","4","5"),
BitValues("Read Only",
"Hidden",
"System",
"Volume Label",
"Subdirectory",
"Archive")]
byte FileType;
Pokud vlastnost FileType hlásí hodnotu 7 (bits 0000 0111), soubor je "Jen pro čtení", "System" a "Hidden". Pokud vlastnost FileType hlásí hodnotu 18 (0x12 bits 0001 0010), je to skrytý podadresář.
Existují dva různé typy rastrových obrázků pomocí kódu MOF:
Po sobě jdoucí významné bity začínající bitem s nízkým pořadím (bit 0)
Pole bitových hodnot můžete definovat bez explicitního zadání významných bitů, pokud významné bity začínají bitem s nízkým pořadím (bit 0) a postupuje směrem nahoru bez přerušení všemi položkami v poli BitValue. Následující příklad kódu MOF provádí stejnou funkci jako předchozí příklad.
[BitValues("Read Only", "Hidden", "System", "Volume Label", "Subdirectory", "Archive")] byte FileType;
Významný bit, kterému předchází nevýrazný bit
Pokud je bit s nízkým pořadím nevýznamný nebo sekvence významných bitů není souvislá, je nutné zadat BitMap a BitValues kvalifikátory. Následující příklad kódu MOF ukazuje situaci, kdy bit s nízkým pořadím není významný a v posloupnosti významných bitů je mezera.
[BitMap("1","4","5"), BitValues("Follow-up","Delivery receipt","Read receipt")] sint32 MailOptions;
V tomto případě nastavení bitu s nízkým pořadím (bit 0) nemá žádný význam a ignoruje se. Nastavení bitu 1 (0x2) však značí, že tato e-mailová zpráva má příznak pro zpracování, nastavení 4 (0x8) značí, že se má odesílateli odeslat potvrzení o doručení, když e-mailová zpráva dorazí do poštovní schránky příjemce, a nastavení 5 (0x10) určuje, že při otevření e-mailové zprávy příjemci by mělo být odesláno potvrzení o přečtení odesílateli. Nastavení všech tří významných bitů (0x1A) určuje všechny tři podmínky pro e-mailovou zprávu.
Poznámky
Při rozhodování, zda použít BitMap/BitValues nebo ValueMap/Hodnoty kvalifikátory, určete, zda některé z uvedených hodnot může probíhat souběžně. Pokud může existovat více souběžných hodnot, musíte použít BitMap/BitValues. Pokud se všechny hodnoty vzájemně vylučují, měli byste použít ValueMap/Hodnoty kvalifikátory.
Související témata