ValueMap en Value Qualifiers
Een waardetoewijzing is een matrix die is gekoppeld aan een eigenschap met de Value en ValueMap kwalificaties.
De eigenschap fungeert als een index in de matrix met een waarde die een van de waarden in de matrix vertegenwoordigt. Met MOF-code kunt u de volgende typen waardetoewijzingen hebben:
Matrixtoewijzing aan een geheel getal.
U kunt een matrix definiëren met de waarde kwalificatie en de matrix rechtstreeks koppelen aan een eigenschap geheel getal, zoals wordt weergegeven in het volgende voorbeeld:
[Values {"OK", "Error", "Degraded", "Unknown"}, Read] sint32 Status;
In dit voorbeeld is de eigenschapswaarde Status een index in de tekenreeksmatrix die is gedefinieerd door Waarde. De eigenschap kan alleen waarden aannemen die overeenkomen met de rangtelposities in de Waarde matrix min 1. Als u bijvoorbeeld Status instelt op '1', wordt de waarde Fout weergegeven. De indexeigenschap kan alleen waarden aannemen die overeenkomen met posities in de waarde matrix. Als de matrix bijvoorbeeld 10 vermeldingen bevat, kan de indexeigenschap 0 tot en met 9 zijn, niet 30 of 177.
Matrixtoewijzing aan een andere matrixtoewijzing aan een geheel getal.
Als u een index wilt maken die geen rangtelsysteem gebruikt, gebruikt u de ValueMap kwalificatie. De ValueMap kwalificatie stelt een andere matrix in die een willekeurig systeem voor indexnummering bevat, zoals wordt weergegeven in het volgende voorbeeld:
[ValueMap {"1", "3", "99", "0"}, Values {"OK", "Error", "Degraded", "Unknown"}, Read] sint32 Status;
Hoewel u de waarden van ValueMap- in aanhalingstekens moet plaatsen, worden de waarden door WMI als geheel getal beschouwd. Daarom kunt u in dit voorbeeld de eigenschap Status instellen op een geheel getal in de ValueMap ingesteld: 1, 3, 99 of 0. WMI wijst elk geheel getal toe vanaf een rangtelkundige positie in de ValueMap tekenreeksmatrix naar een overeenkomende positie in de matrix Waarde. Als u bijvoorbeeld Status instelt op 0, wordt 'Onbekend' weergegeven.
Matrixtoewijzing aan een andere matrixtoewijzing aan een tekenreeks.
Als u geen geheel getal wilt gebruiken om uw matrix te indexeren, kunt u in plaats daarvan een tekenreeks gebruiken om een van de mogelijke waarden in uw matrix op te slaan. Hiervoor moet u zowel een Waarde- als ValueMap matrix definiëren die beide tekenreeksen bevatten, zoals wordt weergegeven in het volgende voorbeeld:
[ValueMap {"OK", "Error", "Degraded", "Unknown"}, Values {"OK", "Error", "Degraded", "Unknown"}, Read] string Status;
Met een tekenreekseigenschap zijn de werkelijke toegestane waarden van de eigenschap de vermeldingen in de ValueMap matrix. U kunt bijvoorbeeld status instellen op OK of Onbekend.
Het is aan de toepassing om op een handige manier te profiteren van toewijzingen. Het is aan de provider om een juridisch bereik van waarden af te dwingen.
Als u wilt bepalen of u de ValueMap/Value of BitMap/BitValues 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/Value kwalificatie gebruiken.