Kualifikasi BitMap dan BitValue

Bitmap adalah bilangan bulat yang ditautkan ke properti dengan kualifikasi BitMap dan BitValue . Setiap bit nilai properti bertindak sebagai indeks ke dalam array nilai dalam daftar BitValue . Karena beberapa bit dalam nilai properti dapat "aktif" pada saat yang sama, dimungkinkan untuk menggunakan satu nilai properti untuk menunjukkan beberapa nilai bersamaan.

Misalnya, contoh kode MOF berikut menetapkan properti FileType sebagai memiliki kualifikasi BitMap dan BitValues . Ini lebih lanjut menetapkan bahwa bit urutan rendah (bit 0) sesuai dengan nilai "Baca Saja". Bit berikutnya (bit 1) sesuai dengan "Tersembunyi", dan sebagainya. (Tidak semua bit harus signifikan. Dalam sistem delapan-bit ini, dua bit berurutan tinggi, 6 dan 7, tidak memiliki signifikansi.)

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

Jika properti FileType melaporkan nilai 7 (bit 0000 0111), filenya adalah "Baca Saja", "Sistem", dan "Tersembunyi". Jika properti FileType melaporkan nilai 18 (0x12, bit 0001 0010), itu adalah subdirektori tersembunyi.

Ada dua jenis bitmap yang berbeda menggunakan kode MOF:

  • Bit signifikan berturut-turut dimulai dengan bit berurutan rendah (bit 0)

    Anda dapat menentukan array nilai bit tanpa secara eksplisit menentukan bit yang signifikan jika bit signifikan dimulai dengan bit berurutan rendah (bit 0) dan maju ke atas tanpa gangguan melalui semua item dalam array BitValue . Contoh kode MOF berikut melakukan fungsi yang sama dengan contoh sebelumnya.

    [BitValues("Read Only",
               "Hidden",
               "System",
               "Volume Label",
               "Subdirectory",
               "Archive")]
    byte FileType;
    
  • Bit signifikan didahului oleh bit yang tidak signifikan

    Jika bit berurutan rendah tidak signifikan, atau urutan bit signifikan tidak berkelanjutan, Anda harus menentukan kualifikasi BitMap dan BitValues . Contoh kode MOF berikut menunjukkan situasi di mana bit berurutan rendah tidak signifikan dan ada celah dalam urutan bit yang signifikan.

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

    Dalam hal ini, mengatur bit urutan rendah (bit 0) tidak memiliki signifikansi dan diabaikan. Namun, pengaturan bit 1 (0x2) menunjukkan bahwa pesan email ini ditandai untuk ditindaklanjuti, pengaturan bit 4 (0x8) menunjukkan bahwa tanda terima pengiriman harus dikirim ke pengirim ketika pesan email telah tiba di kotak surat penerima, dan pengaturan bit 5 (0x10) menentukan bahwa tanda terima baca harus dikirim ke pengirim ketika pesan email dibuka oleh penerima. Mengatur ketiga bit signifikan (0x1A) menentukan ketiga kondisi untuk pesan email.

Keterangan

Dalam memutuskan apakah akan menggunakan kualifikasiBitValuesBitMap/ atau ValueMap/Values, tentukan apakah salah satu nilai yang ditunjukkan dapat terjadi secara bersamaan. Jika ada beberapa nilai bersamaan, Anda harus menggunakanBitValuesBitMap/. Jika semua nilai saling eksklusif, Anda harus menggunakan kualifikasiNilaiValueMap/.

ValueMap dan Value Qualifiers