BitMap- en BitValue-kwalificatie
Een bitmap is een geheel getal dat is gekoppeld aan een eigenschap met de BitMap- en BitValue kwalificatie. Elke bit van de eigenschapswaarde fungeert als een index in de matrix met waarden in de BitValue lijst. Omdat meerdere bits in de eigenschapswaarde tegelijkertijd 'aan' kunnen zijn, is het mogelijk om één eigenschapswaarde te gebruiken om meerdere gelijktijdige waarden aan te geven.
In het volgende voorbeeld van MOF-code wordt bijvoorbeeld de eigenschap FileType vastgelegd met de BitMap- en BitValues kwalificaties. Verder wordt vastgesteld dat de bit met lage volgorde (bit 0) overeenkomt met de waarde Alleen-lezen. De volgende bit (bit 1) komt overeen met 'Verborgen', enzovoort. (Niet alle bits moeten significant zijn. In dit acht-bits systeem hebben de twee high-order bits, 6 en 7, geen significantie.)
[BitMap("0","1","2","3","4","5"),
BitValues("Read Only",
"Hidden",
"System",
"Volume Label",
"Subdirectory",
"Archive")]
byte FileType;
Als de eigenschap FileType de waarde 7 (bits 0000 0111) rapporteert, is het bestand Alleen-lezen, Systeem en Verborgen. Als de eigenschap FileType de waarde 18 (0x12 bits 0001 0010) rapporteert, is dit een verborgen submap.
Er zijn twee verschillende soorten bitmaps met behulp van MOF-code:
Opeenvolgende significante bits beginnend met de bit met lage volgorde (bit 0)
U kunt een matrix met bitwaarden definiëren zonder expliciet de significante bits op te geven als de significante bits beginnen met de bit met lage volgorde (bit 0) en omhoog gaan zonder onderbreking door alle items in de BitValue matrix. In het volgende MOF-codevoorbeeld wordt dezelfde functie uitgevoerd als in het vorige voorbeeld.
[BitValues("Read Only", "Hidden", "System", "Volume Label", "Subdirectory", "Archive")] byte FileType;
Significante bit voorafgegaan door een niet-significante bit
Als de bit met lage volgorde onbelangrijk is of als de reeks significante bits niet doorlopend is, moet u zowel de BitMap- als BitValues opgeven kwalificaties. In het volgende voorbeeld van MOF-code ziet u een situatie waarin de bit met lage volgorde niet significant is en er een hiaat is in de volgorde van belangrijke bits.
[BitMap("1","4","5"), BitValues("Follow-up","Delivery receipt","Read receipt")] sint32 MailOptions;
In dit geval heeft het instellen van de bit met lage volgorde (bit 0) geen significantie en wordt deze genegeerd. Als u echter bit 1 (0x2) instelt, wordt aangegeven dat dit e-mailbericht wordt gemarkeerd voor opvolgen, geeft het instellen van bit 4 (0x8) aan dat een ontvangstbevestiging naar de afzender moet worden verzonden wanneer het e-mailbericht bij het postvak van de geadresseerde is aangekomen en dat u bit 5 (0x10) instelt dat een leesbevestiging naar de afzender moet worden verzonden wanneer het e-mailbericht door de geadresseerde wordt geopend. Als u alle drie belangrijke bits (0x1A) instelt, worden alle drie de voorwaarden voor het e-mailbericht opgegeven.
Opmerkingen
Bij het bepalen of u de BitMap/BitValues of ValueMap/Waarden kwalificaties wilt gebruiken, moet u bepalen of een van de aangegeven waarden gelijktijdig kan optreden. Als er meerdere gelijktijdige waarden kunnen bestaan, moet u BitMap/BitValuesgebruiken. Als alle waarden elkaar wederzijds uitsluiten, moet u de ValueMap/Values kwalificatie gebruiken.
Verwante onderwerpen