Qualifizierer „BitMap“ und „BitValue“

Eine Bitmap ist eine ganze Zahl, die über die Qualifizierer BitMap und BitValue mit einer Eigenschaft verknüpft ist. Jedes Bit des Eigenschaftswerts fungiert als Index in das Array von Werten in der BitValue-Liste. Da mehrere Bits im Eigenschaftswert gleichzeitig „an“ sein können, ist es möglich, einen einzigen Eigenschaftswert zu verwenden, um mehrere gleichzeitige Werte anzugeben.

Im folgenden MOF-Codebeispiel wird beispielsweise festgelegt, dass die Eigenschaft FileType über die Qualifizierer BitMap und BitValues verfügt. Außerdem wird festgelegt, dass das Bit mit niedriger Reihenfolge (Bit 0) dem Wert „Schreibgeschützt“ entspricht. Das nächste Bit (Bit 1) entspricht „Ausgeblendet“ usw. (Nicht alle Bits müssen signifikant sein. In diesem Acht-Bit-System haben die beiden Bits mit hoher Reihenfolge, 6 und 7, keine Bedeutung.)

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

Wenn die Eigenschaft FileType den Wert 7 (Bits 0000 0111) meldet, lautet die Datei „Schreibgeschützt“, „System“ und „Ausgeblendet“. Wenn die Eigenschaft FileType den Wert 18 (0x12, Bits 0001 0010) meldet, handelt es sich um ein ausgeblendetes Unterverzeichnis.

Es gibt zwei verschiedene Arten von Bitmaps, die MOF-Code verwenden:

  • Aufeinanderfolgende signifikante Bits ab dem Bit mit niedriger Reihenfolge (Bit 0)

    Sie können ein Array von Bitwerten definieren, ohne die signifikanten Bits explizit anzugeben, wenn die signifikanten Bits mit dem Bit niedriger Reihenfolge (Bit 0) beginnen und ohne Unterbrechung durch alle Elemente im BitValue-Array aufwärts verlaufen. Das folgende MOF-Codebeispiel erfüllt die gleiche Funktion wie das vorherige Beispiel.

    [BitValues("Read Only",
               "Hidden",
               "System",
               "Volume Label",
               "Subdirectory",
               "Archive")]
    byte FileType;
    
  • Signifikantes Bit, dem ein nicht signifikantes Bit vorangestellt ist

    Wenn das Bit mit niedriger Reihenfolge nicht signifikant ist oder die Sequenz der signifikanten Bits nicht kontinuierlich ist, müssen Sie beide Qualifizierer, BitMap und BitValues, angeben. Das folgende MOF-Codebeispiel zeigt eine Situation, in der das Bit mit niedriger Reihenfolge nicht signifikant ist und eine Lücke in der Sequenz der signifikanten Bits besteht.

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

    In diesem Fall hat das Festlegen des Bits mit niedriger Reihenfolge (Bit 0) keine Signifikanz und wird ignoriert. Das Festlegen von Bit 1 (0x2) gibt jedoch an, dass diese E-Mail-Nachricht für die Nachverfolgung gekennzeichnet ist. Das Festlegen von Bit 4 (0x8) gibt an, dass eine Empfangsbestätigung an den Absendenden gesendet werden soll, wenn die E-Mail-Nachricht im Postfach des Empfangenden eingegangen ist, und durch Festlegen von Bit 5 (0x10) wird angegeben, dass eine Lesebestätigung an den Absendenden gesendet werden soll, wenn die E-Mail-Nachricht vom Empfangenden geöffnet wird. Durch Festlegen aller drei signifikanten Bits (0x1A) werden alle drei Bedingungen für die E-Mail-Nachricht angegeben.

Bemerkungen

Bestimmen Sie bei der Entscheidung über die Verwendung der Qualifizierer BitMap/BitValues oder ValueMap/Values, ob einer der angegebenen Werte gleichzeitig auftreten kann. Wenn mehrere gleichzeitige Werte vorhanden sind, müssen Sie BitMap/BitValues verwenden. Wenn sich alle Werte gegenseitig ausschließen, sollten Sie die Qualifizierer ValueMap/Values verwenden.

Qualifizierer „ValueMap“ und „Value“