BitMap ve BitValue Niteleyicileri
Bit eşlem, BitMap ve BitValue niteleyicileri olan bir özelliğe bağlı bir tamsayıdır. Özellik değerinin her biti, BitValue listesindeki değerler dizisine dizin görevi görür. Özellik değerindeki birden çok bit aynı anda "açık" olabileceğinden, birden çok eşzamanlı değeri göstermek için tek bir özellik değeri kullanmak mümkündür.
Örneğin, aşağıdaki MOF kod örneği, FileType özelliğini BitMap ve BitValues niteleyicilerine sahip olarak oluşturur. Ayrıca düşük sıralı bitin (bit 0) "Salt Okunur" değerine karşılık geldiğini de belirtir. Sonraki bit (bit 1) "Gizli"ye karşılık gelir ve bu şekilde devam eder. (Tüm bitler önemli olmamalıdır. Bu sekiz bitlik sistemde, 6 ve 7 olmak üzere iki yüksek sıralı bitin hiçbir önemi yoktur.)
[BitMap("0","1","2","3","4","5"),
BitValues("Read Only",
"Hidden",
"System",
"Volume Label",
"Subdirectory",
"Archive")]
byte FileType;
FileType özelliği 7 değerini (bit 0000 0111) bildirirse, dosya "Salt Okunur", "Sistem" ve "Gizli" olur. FileType özelliği 18 değerini (0x12, bit 0001 0010) bildirirse, gizli bir alt dizindir.
MOF kodu kullanan iki farklı bit eşlem türü vardır:
Düşük sıralı bit ile başlayan ardışık önemli bitler (bit 0)
Önemli bitler düşük sıralı bit (bit 0) ile başlıyorsa ve BitValue dizisindeki tüm öğelerde kesinti olmadan yukarı doğru ilerlerse, önemli bitleri açıkça belirtmeden bir bit değerleri dizisi tanımlayabilirsiniz. Aşağıdaki MOF kod örneği, önceki örnekle aynı işlevi gerçekleştirir.
[BitValues("Read Only", "Hidden", "System", "Volume Label", "Subdirectory", "Archive")] byte FileType;
Önemli olmayan bitin önünde önemli bit
Düşük sıralı bit önemsizse veya önemli bitlerin sırası sürekli değilse, hem BitMap hem de BitValues niteleyicilerini belirtmeniz gerekir. Aşağıdaki MOF kod örneği, düşük sıralı bitin önemli olmadığı ve önemli bit dizisinde boşluk olduğu bir durumu gösterir.
[BitMap("1","4","5"), BitValues("Follow-up","Delivery receipt","Read receipt")] sint32 MailOptions;
Bu durumda, düşük sıralı bitin (bit 0) ayarlanmasının bir önemi yoktur ve yoksayılır. Ancak, bit 1 (0x2) ayarı, bu e-posta iletisinin izleme için işaretlendiğini gösterir; bit 4 (0x8) ayarı, e-posta iletisi alıcının posta kutusuna ulaştığında gönderene teslim bilgisi gönderilmesi gerektiğini belirtir ve bit 5 (0x10) ayarı, e-posta iletisi alıcı tarafından açıldığında gönderene bir okundu bilgisi gönderilmesi gerektiğini belirtir. Üç önemli bitin de (0x1A) ayarlanması, e-posta iletisi için üç koşulun tümünü belirtir.
Açıklamalar
BitMap/BitValues veya ValueMap/Values niteleyicilerinin kullanılıp kullanılmayacağı konusunda karar verirken, belirtilen değerlerden herhangi birinin eşzamanlı olarak gerçekleşip gerçekleşmeyeceğini belirleyin. Birden çok eşzamanlı değer varsa, BitMap/BitValueskullanmanız gerekir. Tüm değerler birbirini dışlarsa, ValueMap/Değerler niteleyicileri kullanmalısınız.
İlgili konular