Sdílet prostřednictvím


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.

kvalifikátory hodnot a hodnot