Dela via


BitMap- och BitValue-kvalificerare

En bitmapp är ett heltal som är länkat till en egenskap med BitMap- och BitValue-kvalificerare. Varje bit av egenskapsvärdet fungerar som ett index i matrisen med värden i listan BitValue. Eftersom flera bitar i egenskapsvärdet kan vara "på" samtidigt är det möjligt att använda ett enda egenskapsvärde för att ange flera samtidiga värden.

I följande MOF-kodexempel etableras till exempel egenskapen FileType med BitMap- och BitValues-kvalificerare. Det fastställer ytterligare att lågordningsbiten (bit 0) motsvarar värdet "Skrivskyddad". Nästa bit (bit 1) motsvarar "Dold" och så vidare. (Alla bitar måste inte vara betydande. I det här åtta bitarssystemet har de två högordningsbitarna, 6 och 7, ingen betydelse.)

[BitMap("0","1","2","3","4","5"),
 BitValues("Read Only",
           "Hidden",
           "System",
           "Volume Label",
           "Subdirectory",
           "Archive")]
byte FileType;

Om egenskapen FileType rapporterar värdet 7 (bitar 0000 0111) är filen "Skrivskyddad", "System" och "Dold". Om egenskapen FileType rapporterar värdet 18 (0x12, bitar 0001 0010) är det en dold underkatalog.

Det finns två olika typer av bitmappar med MOF-kod:

  • På varandra följande betydande bitar som börjar med lågordningsbiten (bit 0)

    Du kan definiera en matris med bitvärden utan att uttryckligen ange viktiga bitar om de betydande bitarna börjar med biten med låg ordning (bit 0) och fortsätter uppåt utan avbrott genom alla objekt i BitValue- matris. Följande MOF-kodexempel utför samma funktion som i föregående exempel.

    [BitValues("Read Only",
               "Hidden",
               "System",
               "Volume Label",
               "Subdirectory",
               "Archive")]
    byte FileType;
    
  • Betydande bit föregås av en icke-signifikant bit

    Om lågordningsbiten är obetydlig, eller om sekvensen med betydande bitar inte är kontinuerlig, måste du ange både BitMap- och BitValues-kvalificerare. Följande MOF-kodexempel visar en situation där lågordningsbiten inte är betydande och det finns en lucka i sekvensen av betydande bitar.

    [BitMap("1","4","5"),
     BitValues("Follow-up","Delivery receipt","Read receipt")]
    sint32 MailOptions;
    

    I det här fallet har inställningen av lågordningsbiten (bit 0) ingen betydelse och ignoreras. Inställningen bit 1 (0x2) anger dock att det här e-postmeddelandet flaggas för uppföljning, om du anger bit 4 (0x8) anger att ett leveranskvitto ska skickas till avsändaren när e-postmeddelandet har anlänt till mottagarens postlåda och inställningen bit 5 (0x10) anger att ett läskvitto ska skickas till avsändaren när e-postmeddelandet öppnas av mottagaren. Om du anger alla tre viktiga bitar (0x1A) anges alla tre villkoren för e-postmeddelandet.

Anmärkningar

När du bestämmer dig för att använda BitMap/BitValues eller ValueMap/Values-kvalificerare, avgör du om något av de värden som anges kan inträffa samtidigt. Om det finns flera samtidiga värden måste du använda BitMap/BitValues. Om alla värden är ömsesidigt uteslutande bör du använda ValueMap/Values-kvalificerare.

ValueMap- och Value Qualifiers-